从键盘上输入一个正整数n,代表要反转的数的个数,接着输入n个正整数,将这些正整数依次反转并输出。

供稿:hz-xin.com     日期:2025-01-12
首先从键盘输入一个正整数n(n<100,代表数组元素个数)

#include #include int main(int argc, const char * argv[]){ //声明使用的变量 char c[32]; int num = 0; int max = 0; int *array; //输入数组长度 while (1) { printf("输入数组长度(小于100):
"); gets(c); num = atoi(c); if (num>=100) { printf("数组长度必须小于100!
"); continue; } break; } //为数组分配内存 array = (int*)malloc(sizeof(int)*num); //输入数组 printf("样例输入:
"); int a; for (a=0; a<num; a++) { gets(c); array[a] = atoi(c); } //输入界限 printf("输入一个数,刚才输入的数组中所有不大于这个数的元素会扩大1倍
"); gets(c); max = atoi(c); //打印结果 printf("样例输出:
"); for (a=0; a<num; a++) { //扩大元素 if (array[a]<=max) { array[a]*=2; } printf("%d ",array[a]); } printf("
"); //退出程序 free(array); return 0;}运行:
输入数组长度(小于100):
104
数组长度必须小于100!
输入数组长度(小于100):
6
样例输入:
45
60
135
21
38
2
输入一个数,刚才输入的数组中所有不大于这个数的元素会扩大1倍
38
样例输出:
45 60 135 42 76 4

输出该数的各位数字之和的源代码如下:
#include
int fun(int n)
{
int i;
int sum=0;
if(n>1000||n<0)
{
puts("输入的数字超出范围!"); // 错误信息提示
}
else
{
for(i=2;i<n;i++) // 循环遍历n,取出因子,并进行累加
{
if(0 == n%i)
{
sum+=i;
}
}
}
return sum;
}
void main()
{
int n,sum;
printf("Input n: ");
scanf("%d",&n);
sum=fun(n);
printf("sum=%d
",sum);
}

扩展资料
1、输入的数字要是整数,并且要在规定范围内。
2、对输入的数要进行拆分,注意1和本身不能在求和之中。
3、可以使用循环对输入的数(n)遍历,如果n%i余为0,则表明能整除,次i则为因子。

代码举例如下:

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
int reverse(int num){
    int m;
    for(m=0;num;(m*=10)+=num%10,num/=10);
    return m;
}
int main(void){
    int n,i,*p;
printf("Enter n(int)...
n=");
scanf("%d",&n);
if((p=(int *)malloc(sizeof(int)*n))==NULL){
printf("Application memory failure...
");
exit(0);
}
printf("Input %d integer(s)(separated by ' ')...
",n);
for(i=0;i<n;scanf("%d",p+i++));
printf("After inversion, and they are:
");
for(i=0;i<n;printf("%d ",reverse(p[i++])));
free(p);
printf("
");
    return 0;
}


#include <stdio.h>
int  reverse(int num);
int main(void) 
{
int n,num;
for(scanf("%d",&n);n;n--)
{
scanf("%d",&num);
printf("%d ",reverse(num));
}
return 0;
}

int  reverse(int num)
{
int n;
for(n=0;num;num/=10)
{
n=n*10+num%10;
}
return n;
}


实现从键盘输入一个不超过5位数的正整数,判断它是几位数的整数?
include<stdio.h> int main(){ int n,sum=0;int i,j,k;printf("请输入一个介于0-99999之间的整数:");scanf("%d",&n);\/\/方法一 if(n<10) printf("一位数");else if(n<100) printf("两位数");else if(n<1000) printf("三位数");else if(n<10000) printf("四位数");else ...

键盘上输入一个数N,要求打印出行数为2*N-1的由*组成的菱形
for(j=1; j<=i; j++) \/\/当i=1时,即下三角的第1行,输出1个空格,i=2,时输出2个。{ printf(" ");} for(k=2*(n-i)-1; k>0; k--) \/\/因为是下三角,每行的*比上一行的少,所以,k是递减的 { printf("*");} printf("\\n");} printf("请输入正整数n: "); ...

下列程序实现从键盘输入一个数n,求1~n之和并输出,其中求1~n的和由...
在 `main()` 函数中,我们首先使用 `cin` 对象从控制台读入一个正整数 `n`,然后调用 `sum()` 函数计算 1~n 的和,并将其保存到变量 `s` 中。最后,我们使用 `cout` 对象输出结果到控制台中。需要注意的是,在实际应用中,还需要考虑数据范围、边界条件、错误处理等问题,以确保程序的健壮...

用C语言 从键盘上任意输入一个正整数,判断是否为素数。
include<stdio.h> include<math.h> int shu(long unsigned num)\/\/判断一个给定的数num是不是素数 \/\/是返回1,否则返回0 { int t,i;t=sqrt(num)+1;for(i=2;i<t;i++){ if(num%i==0)break;} if(i==t)return 1;return 0;} int main(){ int n;printf("请输入任意一个正整数:...

scanf什么时候用??c语言
例如,"%d,%d" 使 scanf() 先读入一个整数,读入中放弃逗号,然后读另一个整数。如未发现匹配,scanf() 返回。 (6)scanf() 中用于保存读入值的变元必须都是变量指针,即相应变量的地址。 对于字符串数组或字符串指针变量,由于数组名和指针变量名本身就是地址,因此使用scanf()函数时,不需要在它们前面加上"&"...

C++从键盘输入一个正整数,如何判断是否为回文数?
bool judge=true;for(i=0;iif(s[i]!=s[len-i]){ judge=false;break;} 1、“回文”是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如“我为人人,人人为我”等。在数学中也有这样一类数字有这样的特征,成为回文数(palindrome number)。2、设n是一任意自然数.若将n...

从键盘输入任意一个正整数,设计循环程序计算该整数有多少位?
不断地除以10,直到商为0,就得到位数了。c 程序如下:include <stdio.h> int main(){ int x,n=0;printf("input a int value\\n");scanf("%d",&x);while (x != 0){ x=x\/10;n++;} printf("%d\\n",n);return 0;} 对于很大的正整数,例如有几十位,可以按字符串输入,用strlen...

c语言 由键盘输入一个正整数n,求n有多少个不同的正整数因子 描述 由...
描述由键盘输入一个正整数n,求n有多少个不同的正整数因子。输入格式输入的数不会大于99999999输入样例24输出样例8 28726503 | 浏览1459 次 |举报 我有更好的答案邀请更新 2012-11-16 最佳答案 #include<stdio.h>int main(void){ long unsigned int num,i,cnt=0; printf("请输入一个正整数!\\n"); ...

c语言:计算并输出n,其中n是从键盘上输入的一个不大于10的正整数
看不懂题目...要是 输入的话用: scanf("%d", &n );输出的话用 printf("%d", n );

从键盘输入任意正整数,判断是否素数的c语言
include"math.h"main(){ int m,i,k;scanf("%d",&m);k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;if(i>=k+1)printf("%d is a prime number\\n",m);else printf("%d is not a prime number\\n",m);} ...