113题经典C程序设计(7)

2019-06-17 10:50

printf (\有%d个字母\\n\

}

70.编程实现:任意输入10个数,计算所有正数的和,负数的和以及10个数的和。 #include void main() { int i;

float a[10];

printf(\请输入任意十个数\\n\for (i=0;i<10;i++) {

printf(\ scanf(\}

printf(\

printf(\原始数据为:\\n\for (i=0;i<10;i++) printf(\

float sum1=0, sum2=0, sum3=0; for (i=0;i<10;i++)

{if (a[i]>0) sum1=sum1+a[i]; else sum2=sum2+a[i]; sum3=sum1+sum2;}

printf(\正数的和是%f\printf(\负数的和是%f\printf(\总和是%f\}

71.编程实现:求任意20个数中的正数之和及正数的个数,并将结果输出。 #include void main() { int i; float a[20];

printf(\请输入任意二十个数\\n\for (i=0;i<20;i++) {

printf(\ scanf(\}

int m=0;

float sum=0;

for (i=0;i<20;i++) {

if (a[i]>0) m++;

}

for (i=0;i<20;i++) sum=sum+a[i];

printf(\正数的个数是%d\printf(\所有数的和是%f\

}

72.编程实现:对键盘输入的任意一个四位正整数,计算各位数字平方和。 如:2345 则:计算2*2+3*3+4*4+5*5 #include #include void main () {

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 void main() {

int a=1020,c=0; do {a=a/2-2; c++;}

while (a!=0); printf(\}

74.编程实现:打印100以内个位数为6且能被3整除的所有数。 #include void main()

{int i;

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 #include int isprime(int); void main() {

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 void main() {

int a[21],i,j,n,p,temp;

printf(\请输入数组元素的个数:\ scanf(\

printf(\请输入%d个整数:\\n\ for(i=0;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 #include void main()

{

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 void main() {

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 void main() {

int i,j,N,a[21][21];

printf(\请输入打印的行数:\\n\ scanf(\


113题经典C程序设计(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:安定宝协议contact ID通信协议 中文版

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: