没有合适的资源?快使用搜索试试~ 我知道了~
首页C语言与C++编程练习:评分算法、水仙花数、对角线和圆柱计算
C语言与C++编程练习:评分算法、水仙花数、对角线和圆柱计算
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 56 浏览量
更新于2024-07-02
收藏 687KB DOC 举报
本资源包含了四个关于C语言和C++编程的问题及其相应的代码示例,涉及到了数值处理、算法设计以及基本数据结构的应用。 1. 歌星大奖赛评分程序: 这段代码展示了如何计算10个评委给选手打分后的平均分,排除最高分和最低分。程序使用了数组来存储评委分数,通过遍历输入每个分数,更新最大值(max)和最小值(min),最后计算剩余8个分数的平均值。这涉及到了数组操作、数据输入、比较和简单的数学计算。 2. 水仙花数查找: 该程序是用于寻找所有三位数的水仙花数,即满足条件a^3 + b^3 + c^3 = abc的整数解。它通过三层嵌套循环,检查每个可能的三位数组合是否符合水仙花定义。这是一个基础的搜索算法和数学应用问题。 3. 200x200矩阵对角线元素之和: 该程序计算了一个200x200矩阵的对角线元素总和,使用二维数组存储矩阵值,并利用if语句判断当前元素是否在对角线上。此题旨在练习数组操作和条件控制。 4. 圆柱体表面积与体积计算: 要求根据给定的半径r和高h,计算圆柱体的表面积S(包括两个底面和侧面)和体积V。这个问题涉及到圆的面积公式(πr²)和圆柱体体积公式(πr²h),需要将输入值代入公式进行计算。 以上四个问题涵盖了C语言中的基本输入输出、数组操作、循环控制、条件判断以及数学计算,是编程初学者和进阶者提升编程技能的良好实践题。通过解决这些问题,学习者可以增强对于数值处理和算法设计的理解,同时提高程序调试和优化能力。
资源详情
资源推荐
21、请编一个函数 int fun(int a),它的功能是:判断 a 是否是素数,若 a 是素数,返回 1;若
不是素数,返回 0。A 的值由主函数从键盘读入。
#include <stdio.h>
int fun(int a)
{int I;
if(a==2) return 1; I=2;
while((a%I)!=0&&I<=sqrt((float)a))
I++;
if(a%I==0)
{printf(“%d is not a prime!”,a);
return 0; }
printf(“%d is a prime!”,a);
return 1; }
main()
{int x;
printf(“\n please enter a number:”);
scanf(“%d”,&x);
printf(“%d\n”,fun(x)); }
22、Vigenere 密码是法国密码学家 Blaise de Vigenere 发明的。设密钥 K=k1k2k3…Kn,明
文 P=p1p2p3…pm,当密钥长度 n 比明文长度 m 短时,密钥可以周期性地重复使用。加密
函数可以表示为:
f(pi)=(pi+ki) mod m
其中,f(pi)表示密文字母在字母表中的位置,pi 表示明文字母在字母表中的位置,ki 表示密
钥字母在字母表中的位置,i=1, 2, 3, … , n。
设有明文 P=security,密钥 K=dog。
请编写用 Vigenere 密码的加密程序。
#include <stdio.h>
#include <string.h>
main()
{ char *p="security", *k="dog",*q;
printf("\Plaintexttext is: ");
printf("%s",p);
q=p;
int i,j,l,m,n;
m=strlen(p); n=strlen(k);
for(i=0;i<m;i++)
{ j=i%n;
l=(i+j)%m; p[i]=q[l];
}
printf("\nCiphertext is: ");
printf("%s",p);
}
23、编程计算下列表达式:s=1!+2!+3!+4!+ … +10!
#include <stdio.h>
main()
{ long s=0,t=1;
int i;
for(i=1;i<=10;i++)
{ t=t*i;
s=s+t;
}
printf("%ld", s);
}
24.从键盘上输入 a 与 n 的值,计算 sum=a+aa+aaa+aaaa+…+ (共 n 项)的和。例 a=2, n=4,
则 sum=2+22+222+2222。
#include <stdio.h>
main()
{ int a,n,count=1,sum=0,tn=0;
scanf("%d %d",&a,&n);
while(count<=n)
{ tn=tn+a;
sum=sum+tn;
a=a*10;
++count;
}
printf("%d",sum);
}
25、从键盘上输入 10 个数存入一维数组中,求这 10 数中的最大值与最小值并输出。
#include <stdio.h>
main()
{ int i,a[10],max,min;
for(i=0;i<10;i++)
scanf("%d ",&a[i]);
max=a[0];
for(i=1;i<10;i++)
if(a[i]>max)
max=a[i];
min=a[0];
for(i=1;i<10;i++)
if(a[i]<min)
min=a[i];
printf("%d,%d",max,min);
}
26、从键盘上输入若干个字符存入文件 write.txt 中,遇到回车键输入结束。(用“\n”表示回
车键)
#include <stdio.h>
main()
{ int c;
FILE *fp;
fp=fopen("write.txt","w");
c=getchar();
while(c!='\n')
{ fputc(c,fp);
c=getchar();
}
fclose(fp);
}
27、由键盘输入三个整数 a、b、c,输出其中最大的数。
#include <stdio.h>
main()
{ int a, b, c;
printf("请输入三个整数:\n");
scanf("%d,%d,%d", &a, &b, &c);
if(a<b)
if(b<c) printf("max=%d\n", c);
else printf("max=%d\n", b);
else if(a<c) printf("max=%d\n",c);
else printf("max=%d\n",a);
}
28、从键盘输入的 10 个整数,找出第一个能被 7 整除的数。若找到,打印此数后退出循环;
若未找到,打印“not exist!”。
#include <stdio.h>
main()
{ int i,a;
for(i=1; i<=10; i++)
{ scanf("%d", &a);
{ if(a%7==0)
{ printf("%d", a); break; }
}
}
if (i==11)
printf("not exist!");
}
29、有一个一维数组,内放 10 位学生的成绩,写一个函数,求出平均分。
#include <stdio.h>
float average(float array[ ], int n)
{ int i;
float aver,sum=array[0];
for ( i=1; i<n; i++)
sum=sum+array[i];
aver=sum/n;
return(aver);
}
main()
{ float ave, score[10];
int i;
for ( i=0; i<10; i++)
scanf("%f", &score[i]);
ave=average(score,10);
printf("%f\n",ave);
}
30、从键盘上输入 9 个数,按 3 行 3 列的格式输出。
#include <stdio.h>
main()
{ int a[3][3], i, j, s=0;
for ( i=0; i<3; i++)
for ( j=0; j<3; j++)
scanf("%d", &a[i][j]);
for ( i=0; i<3; i++)
{ for ( j=0; j<3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
31、编程将 C 盘根目录下的文件 read.txt 中的字符读出显示到屏幕上。
#include <stdio.h>
main()
{ int c;
FILE *fp;
fp=fopen("c:\\read.txt","r");
c=fgetc(fp);
while(c!='\n')
{ putchar(c);
c=fgetc(fp);
}
fclose(fp);
}
32、输入两个整数,调用函数 stu( )求两个数的平方差,返回主函数显示结果。
#include <stdio.h>
int stu(int a, int b)
{ int c;
c=a*a-b*b;
return c;
}
main()
{ int x, y, z;
scanf("%d,%d", &x, &y);
z=stu(x, y);
printf("%d", z);
}
34.从键盘上输入 10 个评委的分数,去掉一个最高分,去掉一个最低分,求出其余 8 个人
的平均分,输出平均分,最高分,最低分。
#include <stdio.h>
main()
{ float a[10], b, max, min, sum=0, aver;
for ( b=0; b<10; b++)
scanf("%f", &a[b]);
max=min=a[0];
for (b=1; b<10; b++)
{ if (a[b]>max)
max=a[b];
if (a[b]<min)
min=a[b];
sum+=a[b];
}
sum=sum-max-min;
aver=sum/8;
printf("%f, %f, %f", aver, max, min);
}
35.write.txt 中,遇到回车键输入结束。。(用“\n”表示回车键)
main()
{ FILE *fp;
Char ch;
fp=fopen(“write.txt”,“w”);
剩余162页未读,继续阅读
omyligaga
- 粉丝: 61
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功