C语言113道题目(8)

2019-06-02 14:20

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(\ for(i=1;i

a[i][1]=1; a[i][i]=1; }

for(i=3;i

for(j=1;j<=i;j++) printf(\ printf(\ }

printf(\}

86.编一个函数实现将一个整型的一维数组中的数逆序存放,不使用辅助数组。主函数输入一个整型的一维数组,调用上述函数,将该数组逆置,将结果输出。 #include #define N 10 void main() {

int a[N],i,temp;

printf(\ for(i=0;i

temp=a[i]; a[i]=a[N-i-1]; a[N-i-1]=temp;

}

printf(\ for(i=0;i

87.编写一个函数convert,求一个方阵的转置矩阵;主函数中输入方阵的阶数和方阵,在主函数中将原矩阵和转置矩阵按原格式输出。 #include void main() {

void convert(int [10][10]); int a[10][10],p,q,i,j;

printf(\请输入矩阵的行和列:\\n\ scanf(\

scanf(\

printf(\请输入矩阵的元素值:\\n\ for(i=0;i

for(j=0;j

convert(a);

printf(\转置矩阵为:\\n\ for(i=0;i

for(j=0;j

void convert(int a[10][10]) { int i,j,t;


C语言113道题目(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:语音放大电路设计 - 图文

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

马上注册会员

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