5132程序设计.docx
- 文档编号:17225426
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:59
- 大小:26.60KB
5132程序设计.docx
《5132程序设计.docx》由会员分享,可在线阅读,更多相关《5132程序设计.docx(59页珍藏版)》请在冰点文库上搜索。
5132程序设计
输入一行以空格分隔的数,把它们存入数组,用逗号分隔的方式输出,并统计数的个数。
输入
输入一行以空格分隔的数。
已知至少输入一个数,至多输入二十个数,且最后一个数后紧跟回车输入。
输出
输出两行。
第一行输出这些数,相邻两数之间用一个逗号隔开。
第二行输出数的个数。
输入示例
2037.543587.0
输出示例
20,37.5,43,5,87.0
5
数据范围
输入输出均为float范围的浮点数
#include
#include
#defineN400
voidmain()
{
chara[N];//定义数组
inti,j=1;
gets(a);//将输入的数存入数组
for(i=0;a[i]!
='\0';i++)//执行循环到输入的数字末尾结束
{
if(a[i]=='')
{
a[i]=',';
printf("%c",a[i]);//将空格用逗号替换后输出
j++;//记录替换次数
}
else
printf("%c",a[i]);
}
printf("\n");
printf("%d",j);//替换次数加一即是所求数的个数
}
按照“学号【空格】姓名【空格】性别【空格】年龄【回车】”的格式输入若干学生信息,将他们存储在结构体数组中(即每一个学生的信息存储在一个结构体中),输入以“##”结束。
统计学生人数,并按行输出每条学生信息。
输入
输入若干行。
每行均依照“学号【空格】姓名【空格】性别【空格】年龄【回车】”的格式输入,输入以“##”结束。
已知最多输入20个学生信息,学号长度最大为12,姓名长度最大为10,性别为“Male”或“Female”,年龄为整数。
输出
输出若干行。
第一行输出学生人数。
从第二行开始,每行为一个学生信息,相邻两项之间用一个逗号隔开。
输入示例
S13111615301郭凤山Male19
S13111615302车润泽Male18
S13111615303孟超Female19
##
输出示例
3
S13111615301,郭凤山,Male,19
S13111615302,车润泽,Male,18
S13111615303,孟超,Female,19
数据范围
输入为整数和字符串
#include
#include
typedefstructstu//定义结构体
{
charnum[12];
charname[12];
charsex[12];
intage;
}STUDENT;
intmain()
{
STUDENTstu[20];
inti,n=0;
for(i=0;;i++)
{
scanf("%s",stu[i].num);
if(strcmp(stu[i].num,"##")==0)//实现以##结尾
break;
scanf("%s%s%d",stu[i].name,stu[i].sex,&stu[i].age);
n++;//记录学生人数
}
printf("%d\n",n);
for(i=0;i { printf("%s,%s,%s,%d\n",stu[i].num,stu[i].name,stu[i].sex,stu[i].age); } return0; } 输入一行以制表符分隔的整数,把它们存入数组。 统计数的个数,并用逗号分隔的方式输出。 输入 输入一行以制表符分隔的整数。 已知至少输入一个数,至多输入二十个数,且最后一个数后紧跟回车输入。 输出 输出两行。 第一行输出整数个数。 第二行输出这些整数,相邻两数之间用一个逗号隔开。 输入示例 2【Tab】3【Tab】4【Tab】5【Tab】6【回车】 输出示例 5 2,3,4,5,6 数据范围 输入为int范围的整数 #include #include #defineN400 intmain() { inti,j=1; charnum[N];//定义数组 gets(num);//将输入的数存入数组 for(i=0;num[i]! ='\0';i++) { if(num[i]=='\t') { num[i]=',';//将制表符替换成逗号 j++; } } printf("%d\n",j);//输出计数结果 puts(num); return0; } * *** ***** ******* 输入 输入正整数n。 输出 依据题意输出图形。 输入示例 4 输出示例 * *** ***** ******* 数据范围 输入为int范围的整数 #include intmain() { intn,i,j; scanf("%d",&n);//输入层数 for(i=1;i<=n;i++)//循环控制行数 { for(j=1;j<=2*(n-i);j++)//输入空格 { printf(""); } for(j=1;j<=2*i-1;j++)//接着输入*号 { printf("*"); } printf("\n");//输完一列后换行 } return0; } 从键盘输入一个正整数n(代表层数),打印如下图形。 注意中间一行左侧不留空白。 * *** ***** ******* ***** *** * 输入 输入正整数n。 输出 依据题意输出图形。 输入示例 4 输出示例 * *** ***** ******* ***** *** * 数据范围 输入为int范围的整数 #include #include intmain() { intn,i,j,m; scanf("%d",&n);//输入层数 for(i=1;i<=n;i++)//先打印上面的三角形 { for(j=i;j { printf(""); } for(j=0;j<2*i-1;j++) { printf("*"); } printf("\n"); } for(i=1;i { for(j=1;j<=i;j++) { printf(""); } for(j=1;j<=2*n-1-2*i;j++) { printf("*"); } printf("\n"); } return0; } 输入一行以逗号分隔的整数,以回车结尾。 以每行5个,适当数量的空格分隔,左对齐的方式输出它们。 已知输入的整数最多不超过5位。 提示: 可以在输出时使用格式控制参数控制每个整数占6位且左对齐。 输入 输入一行以逗号分隔的整数。 已知至少输入一个数,至多输入二十个数,且最后一个数后紧跟回车输入。 输出 输出若干行。 每行最多输出5个整数,相邻两数之间用若干个空格隔开,使得这些数左对齐。 输入示例 100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24 输出示例 10021395078 328994349534134343 209472729329 273284339224 数据范围 输入为int范围的整数 #include #include intmain() { intnum[20]={0};//定义数组并初始化 intm,n=0; while(scanf("%d",&num[n])! =','&&getchar()! ='\n') { n++;//记录整数的个数 } for(m=0;m<=n;m++) { if(m>0&&(m+1)%5==0)//每行输出五个整数后换行 printf("%-5d\n",num[m]);//以每个整数占6位且左对齐的方式输出 else printf("%-5d",num[m]); } return0; } 输入一行以逗号分隔的整数,以回车结尾。 以每行5个,适当数量的空格分隔,右对齐的方式输出它们。 已知输入的整数最多不超过5位。 提示: 可以在输出时使用格式控制参数控制每个整数占6位且右对齐。 输入 输入一行以逗号分隔的整数。 已知至少输入一个数,至多输入二十个数,且最后一个数后紧跟回车输入。 输出 输出若干行。 每行最多输出5个整数,每个整数之前放置若干个空格,使得这些数右对齐。 输入示例 100,21,3950,7,8,3289,943,495,34134,343,209,47,2,7293,29,2732,843,392,24 输出示例 10021395078 328994349534134343 209472729329 273284339224 数据范围 输入为int范围的整数 #include #include intmain() { intnum[20]; inti=-1,j=0; do{ i++;//统计输入整数的个数 scanf("%d",&num[i]);//将输入的整数存入数组 }while(getchar()! ='\n'&&i<20); for(j=0;j { printf("%6d",num[j]);//实现每个整数占六位且右对齐 if((j+1)%5==0)//实现一行输出五个整数 printf("\n"); } return0; } 输入一行以空格分隔的英文单词,以回车结尾。 以每行5个,适当数量的空格分隔,左对齐的方式输出它们。 已知输入的单词长度最多不超过9位。 提示: 可以在输出时使用格式控制参数控制每个单词占10位且左对齐。 输入 输入一行以空格分隔的英文单词。 已知至少输入一个英文单词,至多输入二十个英文单词,且最后一个英文单词后紧跟回车输入。 输出 输出若干行。 每行最多输出5个英文单词,相邻两项之间用若干个空格隔开,使得这些英文单词左对齐。 输入示例 MachinelearningisthetermthatreferstolearningpatternsinthedataInotherwords 输出示例 Machinelearningistheterm thatreferstolearningpatterns inthedataInother words 数据范围 输入为字符串 #include #include #defineN10000 intmain() { chara[N],b[N]; inti,len=0,j=0,k; gets(a); for(i=0;a[i]! ='\n';i++)//一直查到输入行末尾 { if(a[i]! ='')//如果输入的不是空格 { b[j]=a[i];//将字母存入数组b j++; } if(a[i]=='')//如果输入的是空格 { for(k=j;k<10;k++)//调整数组b的格式使其一共占10个字节 { b[k]=''; } b[10]='\0'; printf("%s",b); j=0; len++; if(len%5==0)//每五个一换行 { printf("\n"); } } } return0; } 输入一行以空格分隔的英文单词,以回车结尾。 以每行5个,适当数量的空格分隔,居中对齐的方式输出它们。 已知输入的单词长度最多不超过9位,输出时每个单词占10位。 输入 输入一行以空格分隔的英文单词。 已知至少输入一个英文单词,至多输入二十个英文单词,且最后一个英文单词后紧跟回车输入。 输出 输出若干行。 每行最多输出5个英文单词,每个英文单词之前放置若干个空格,使得这些英文单词居中对齐。 输入示例 MachinelearningisthetermthatreferstolearningpatternsinthedataInotherwords 输出示例 Machinelearningistheterm thatreferstolearningpatterns inthedataInother words 数据范围 输入为字符串 #include #include #include #defineN10000 intmain() { chara[N],b[N]; inti,len=0,j=0,l,k; gets(a); for(i=0;a[i]! ='\0';i++) { if(a[i]! ='') { b[j]=a[i]; j++; } if(a[i]=='') { len++; b[j]='\0'; for(k=0;k<(10-j)/2;k++) { printf(""); } printf("%s",b); for(k=0;k<(10-j-((10-j)/2));k++) { printf(""); } j=0; if(len%5==0) { printf("\n"); } } } b[j]='\0'; for(k=0;k<(10-j)/2;k++) { printf(""); } printf("%s",b); for(k=0;k<(10-j-((10-j)/2));k++) { printf(""); } if(len%5==0) { printf("\n"); } return0; } 输入m行n列的二维数组A。 其中,m、n和矩阵元素均由用户从键盘输入。 已知m和n的值都不超过10。 请定义n行m列的另一个数组B,使用指针操作实现将二维数组A转置为B,并输出转置后的二维数组B。 输入 输入包含m+1行: 第一行是整数m和n,两项之间用一个空格隔开(1<=m,n<=10)。 第二行到第m+1行每行均有n个整数,相邻两项之间用一个空格隔开。 输出 输出包含n行,是转置后的二维数组B。 每行均有m个整数,相邻两项之间用一个空格隔开。 输入示例 32 12 45 78 输出示例 147 258 数据范围 输入输出均为int范围的整数 #include #include #defineN10 intmain() { intm,n,i,j; int*a[N][N],*b[N][N]; scanf("%d%d",&m,&n); for(i=0;i { for(j=0;j { scanf("%d",&a[i][j]);//将矩阵存入数组 } } for(i=0;i { for(j=0;j { b[j][i]=a[i][j];//将矩阵转置 } } for(i=0;i { for(j=0;j { printf("%d",b[i][j]);//输出转置后的矩阵 } printf("\n"); } return0; } #include #include #include #defineN10 voidzhihuan(int*a,int*b); intmain() { intm,n; inti,j; inta[N][N]; scanf("%d%d",&m,&n); memset(a,0,sizeof(a)); for(i=0;i { for(j=0;j { scanf("%d",&a[i][j]); } } for(i=0;i { for(j=i;j { zhihuan(&a[i][j],&a[j][i]); } } for(i=0;i { for(j=0;j { printf("%d",a[i][j]); } printf("\n"); } return0; } voidzhihuan(int*a,int*b) { intp; p=*a; *a=*b; *b=p; } 输入一行英文,从中找出最长的英文单词(若最长的英文单词有多个,则输出第一个)。 英文单词只包含大写字母和小写字母,单词由空格隔开。 要求用字符指针实现,且不能调用字符串库函数。 输入 输入一行英文,英文单词由空格隔开。 已知至少输入一个英文单词,且最后一个英文单词后紧跟回车输入。 输出 输出最长的英文单词。 若最长的英文单词有多个,则输出第一个。 输入示例 Iamastudent 输出示例 student 数据范围 对于100%的数据,输入字符串的长度<=1000 #include #include #include #defineM30 #defineN10000 intchangdu(char*m); voidmain(void) { chara[N],b[N][M],*p=&a[0]; inti,k=0,j=0,max,len; gets(a); for(;*p! ='\0';p++) { if(*p! ='') { b[k][j]=*p; j++; } if(*p=='') { if(*p! =*(p-1)) { b[k][j]='\0'; k++; j=0; } } } if(*(p-1)! ='') { b[k][j]='\0'; k++; } max=0; len=k; for(i=0;i { if(changdu(b[i])>changdu(b[max])) { max=i; } } printf("%s\n",b[max]); } intchangdu(char*m) { intlen=1; inti; for(i=0;m[i]! ='\0';i++) { len++; } returnlen; } 3.3整数筛选求和 试题描述 输入一行字符串,将其中连续的阿拉伯数字视为整数,计算并输出它们的和。 要求用字符指针实现,且不能调用字符串库函数。 输入 输入一行字符串。 输出 将字符串中连续的阿拉伯数字视为整数,输出整数之和。 输入示例 whde12fkvf834ddei5sdlm3790wo 输出示例 4641 数据范围 对于100%的数据,输入字符串的长度<=1000 #include #include #include #defineM30 #defineN10000 intshuzi(char*a); voidmain(void) { chara[N],b[N][M],*p=&a[0]; inti,k=0,j=0,sum=0; gets(a); for(;*p! ='\0';p++) { if(*p>='0'&&*p<='9') { b[k][j]=*p; j++; } else { if(*(p-1)>='0'&&*(p-1)<='9') { b[k][j]='\0'; k++; j=0; } } } if(*(p-1)>='0'&&*(p-1)<='9') { b[k][j]='\0'; k++; } for(i=0;i { sum=sum+shuzi(b[i]); } printf("%d\n",sum); } intshuzi(char*a) { intsum=0,t=1,p; inti; for(i=strlen(a)-1;i>=0;i--) { p=(*(a+i)-'0')*t; sum=sum+p; t=t*10; } returnsum; } 输入m×n阶矩阵A和B。 编写函数add,完成A+B的运算,结果放在二维矩阵C中。 要求把二维矩阵A、B和C以及m和n作为函数参数。 编写函数selectmin,函数负责找出C中值最小的元素。 要求把二维矩阵C、m和n作为函数参数。 编程实现上述函数,最终要求输出C和C中最小元素的值。 注意: 不要改变函数名称,注意大小写敏感;注意不允许使用全局变量。 输入 输入包含2*m+1行: 第一行是整数m和n(1<=m,n<=10),两项之间用一个空格隔开。 第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5132 程序设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)