您的位置:首页 > 其它

输入4个人名,按拼音顺序输出(冒泡排序)&&输入一个整数,输出该数的所有因子&&输入两个数,输出它的最小公倍数和最大公约数&&输出1000以内的所有素数,每行5个&&输出n行的菱形,n为奇数.....

2020-02-13 02:47 609 查看

题一:

输入4个人名,按拼音顺序输出(冒泡排序):

#include<stdio.h>
#include<string.h>
int main()
{
char str[4][20] = {0};
char temp[20] = {0};
printf("请输入四个名字:\n");
for(int i = 0;i < 4;i++)
{
scanf("%s",str[i]);
}
for(int i = 0;i<4 - 1;i++)
{
for(int j = 0;j < 4-1-i;j++)
{
if(strcmp(str[j],str[j+1]) > 0)
{
strcpy(temp,str[j]);
strcpy(str[j],str[j+1]);
strcpy(str[j+1],temp);
}
}
}
for(int i = 0;i < 4;i++)
{
printf("第%d位是%s\n",i,str[i]);
}
return 0;
}

题二:

输入一个整数,输出该数的所有因子

#include <stdio.h>
#include <math.h>

int main()
{
int num;
printf("输入一个整数:");
scanf("%d", &num);
for(int i = 1; i*i <= num; i++)
{
if(! (num % i))
{
if((i*i) != num)
{
printf(" %d %d",i,num / i);
}else
{
printf("%d ",i);
}
}
}
return 0;
}

题三:

输入两个数,输出它的最小公倍数和最大公约数

#include <stdio.h>

int main()
{
int num1, num2, temp, divisor, multiple;
printf("输入两个整数:");
scanf("%d %d", &num1, &num2);
temp = num1 > num2 ? num2 : num1;
for(int i = temp ; i > 0; i--)
{
if((num1 % i == 0) && (num2 % i== 0))
{
divisor = i;
break;
}
}
multiple=(num1 * num2)/divisor;
printf("最大公约数=%d \n最小公倍数=%d\n",divisor,multiple);
return 0;
}

题四:

输出1000以内的所有素数,每行5个

#include <stdio.h>
int main()
{
int t = 0;
for(int i = 2; i <= 1000; i++)
{
for(int j = 2; j <= i; j++)
{
if(i % j == 0)
{
if(i == j)
{
t++;
printf("%d ", i);
if(t % 5 == 0)
printf("\n");
}else
break;
}
}
}
return 0;
}

题五:

输出n行的菱形图案,n为奇数

#include<stdio.h>
int main()
{
int n;
printf("输入n(n为奇数)=");
scanf("%d",&n);
for(int i = 0;i <= n / 2; i++)
{
int a = i + 1;
for(int j = 0; j < (n / 2) - i; j++)
{
printf(" ");
}
for(int k = 0; k <2 * a - 1; k++)
{
printf("*");
}
printf("\n");
}
for(int i = n / 2 - 1; i >= 0; i--)
{
int a = i + 1;
for(int j = 0;j < (n / 2) - i; j++)
{
printf(" ");
}
for(int k = 0; k < 2 * a - 1; k++)
{
printf("*");
}
printf("\n");
}
return 0;
}

题六:

输入一行英文句子,统计有多少单词

#include<stdio.h>
int main()
{
int count = 0;
char s[1000];
printf("输入一句英文句子:");
gets(s);
char before=' ';
for(int i = 0;s[i] != '\0'; i++)
{
char current = s[i];
if(before == ' ' && current != ' ')
{
count++;
}
before = current;
}
printf("单词个数为%d", count);
return 0;
}

题七:

删除数组元素(自定义函数)

#include<stdio.h>
int deleteArrayElement(int *a,int length,int i);
int main()
{
int i,length;
int a[20];
printf("请输入数组长度:\n");
scanf("%d",&length);
printf("请输入%d整数",length);
for(int j = 0;j < length;j++)
{
scanf("%d",&a[j]);
}
printf("请输入需要删除的元素的位置\n");
scanf("%d",&i);
deleteArrayElement(a,length,i);
for(int j = 0;j<length-1;j++)
{
printf("%d",a[j]);
}
return 0;
}
int deleteArrayElement(int *a,int length,int i)
{
for(int j = i;j < length;j++)
{
a[j-1] = a[j];
}
length = length - 1;
}
  • 点赞
  • 收藏
  • 分享
  • 文章举报
邜玥 发布了39 篇原创文章 · 获赞 2 · 访问量 1340 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐