当前位置:首页 > C语言题集01
printf(\所有数的和是%f\}
72.编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。 如:2345 则:计算2*2+3*3+4*4+5*5 #include
printf (\请输入一个四位数\\n\ int x,a,b,c,d,s; scanf (\
a=x/1000; b=x/100-10*a;
c=x/10-100*a-10*b; d=x;
printf (\ printf(\ printf (\ printf (\ s=a*a+b*b+c*c+d*d;
printf(\各位数字的平方和是%d\\n\
}
73.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完,请编程。 #include
int a=1020,c=0; do
{a=a/2-2; c++;}
while (a!=0); printf(\}
74.编程实现:打印100以内个位数为6且能被3整除的所有数 。 #include
for (i=0;i<100;i++)
{if (i==6&&i%3==0)
printf(\} }
75.编程实现:从键盘输入若干个整数(数据个数应不少于50),其值在0至4的范围内,用-1作为输入结束的标志,统计每个整数的个数。
76.编写一个函数sort,将放到一维数组中的若干个数按从大到小的顺序排序;在主函数中输入若干个数到一个一维数组中,调用sort,对该数组进行排序,在主函数中将原数组和排好序的数组输出。
77.输入一个正整数,将其用质因子的乘积表示,并输出结果,格式为:12=2×2×3。 78.输入一个正整数,求出它的质因子的和,并输出结果,格式为:12的质因子和=2+2+3=7。 79.编写一个函数,判断一个正整数是否为完数:如果一个数的除它本身以外的所有因数之和等于它本身,则它就是完数。主函数中找出1000以内的所有完数。
80.编写函数GCD,求两个正整数的最大公约数,主函数中输入任意5个正整数,调用函数GCD,求出这5个数的最大公约数和最小公倍数。
81.编函数isprime判断正整m是否为素数;如果是素数,返回正整数1,否则返回0;主函数中调用isprime,找出2到1000之间的所有素数。 #include
int m;
for(m=2;m<=1000;m++) if(isprime(m)) printf(\}
int isprime(int a) { int i;
for(i=2;i<=sqrt(a);i++) if(a%i==0) return 0; return 1; }
82.一维数组a中的若干个数已按从小到大的顺序有序;在主函数中输入一个数,将其插入到该数组中,使得原数组依然按原序有序,分别输入原数组和插入新元素之后的数组。 #include
int a[21],i,j,n,p,temp;
printf(\请输入数组元素的个数:\ scanf(\
printf(\请输入%d个整数:\\n\ for(i=0;i scanf(\ for(i=1;i<=n-1;i++) { for(j=0;j<=n-1-i;j++) if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } printf(\原数组为:\\n\ for(i=0;i<=n-1;i++) printf(\ printf(\请输入插入的数:\ scanf(\ for(i=0;i<=n-1;i++) if(p temp=a[i]; a[i]=p; p=temp; } a[n]=p; printf(\插入元素后的数组为:\\n\ for(i=0;i<=n;i++) printf(\} 83.有5个国家名,编程实现按字母先后顺序排序,然后分别输出原数组和排序之后的数组。 #include char name[5][15],temp[15]; int i,j; printf(\请输入国家名:\\n\ for(i=0;i<5;i++) gets(name[i]); for(i=0;i<5;i++) for(j=0;j<4-i;j++) if(strcmp(name[i],name[j+1])>0) { strcpy(temp,name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],temp); } printf(\国家名排序后为:\\n\ for(i=0;i<5;i++) printf(\} 84.有一行文字,要求删去其中的某个字符,此行文字和要删的字符均由键盘输入,分别输出原文字和删除之后的文字(注:原文字中的所有和要删除字符相同的字符完全删除)。 #include int i,j; char a[10],N='n'; printf(\请输入一行9个的文字:\\n\ gets(a); printf(\原文字为:\\n\ puts(a); for(i=0;i<=9;i++) if(a[i]==N) for(j=i;j<=9;j++) a[j]=a[j+1]; printf(\删除后文字为:\\n\ puts(a); } 85.打印如图所示的杨辉三角,要求打印出n行,n由键盘输入。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ……… #include int i,j,N,a[21][21]; printf(\请输入打印的行数:\\n\ scanf(\ for(i=1;i
共分享92篇相关文档