版权声明:转载请注明出处 https://blog.csdn.net/nanhuaibeian/article/details/87886541
(一)题目1
1. 题目
从键盘读入N个整数,以0为结束,输出这些整数,整数的个数,并求出现次数最多的整数,整数的大小从1到100,N<100.例如:输入:2 12 2 5;输出:2 12 2 5 4 2
2. 代码
#include <stdio.h>
int main() {
int a[100];
//max:最大值的次数,date:最大值
int i,j,n=0,max,date,num,temp;
//从键盘读入N个整数,以0为结束
printf("请输入需要读入的整数:\n");
scanf("%d",&a[n]);
while(a[n]!=0) {
n++;
scanf("%d",&a[n]);
}
//求出出现最多的数date
for(i=0; i<n; i++) {
num =0;
for(j=0; j<n; j++) {
if(a[i]==a[j])
num++;
}
if(max<num) {
date = a[i];
max = num;
}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" %d %d ",n,date);
return 0;
}
(二)题目2
1. 题目
输入一个升序序列,以0结束,输出该序列,统计序列中的数字个数,将指定位置后的数字逆序。例如输入2,3,4,67,89,0 输出2,3,4,67,89
输出个数为5,输入3,输出2,3,89,67,4
2. 代码
#include <stdio.h>
#define max 100
int main() {
int a[max];
int i=0,j,num;
printf("请输入一个升序序列(数字之间使用空格间隔):\n");
scanf("%d",a);
while(a[i]!=0) {
i++;
scanf("%d",&a[i]);
}
//输出数字,将0省去
for(j=0; j<i; j++) {
if(j<i-1)
printf("%d,",a[j]);
else printf("%d\n",a[j]);
}
printf("数字个数为%d个\n",i);
printf("请输入将第几个数字以后的变为数字逆序");
scanf("%d",&num);
//前(num-1)个数字按升序输出
for(j=0; j<num-1; j++)
printf("%d,",a[j]);
//从num个数字开始逆序输出
for(j=i-1; j>=num-1; j--) {
if(j>num-1)
printf("%d,",a[j]); //如此操作只为格式数字间以逗号隔开
else printf("%d\n",a[j]);
}
return 0;
}