编程n为整数
循环N次 每次输入一个就好。
可以随输入随处理,也可以存到数组里面。
样例
intN,t;
scanf("%d",&N);
while(N--)
{
scanf("%d",&t);
...
}
B. C++编程:从键盘输入一个正整数n,编程计算n!
容我说句实话,楼上两位的代码只能算比较小的阶乘,比如 100! 就算不出了。
我是用数组来实现大数的阶乘,代码如下:
#include<iostream>
#include<deque> // 利用双端队列保存计算结果的每一位
using namespace std;
int main()
{
deque<int> a;
a.push_back(1);
a.push_back(1);
int n,top = 1;
cout << "Input n: ";
cin >> n;
for(int i = 1; i <= n; i++)
{
for(int j=1; j <= top;j++)
a[j] *= i;
for(int j = 1; j <= top; j++)
{
if(a[j]>10)
{
for(int r = 1; r <= top; r++)
{
int tmp = a[r] / 10;
a[r] = a[r] % 10;
if(r+1 == a.size())
{
if(tmp == 0)
break;
else
{
a.push_back(tmp);
top++;
break;
}
}
a[r+1] += tmp;
}
}
}
}
cout << n <<"! = ";
for(int j = top ; j > 0; j--)
cout << a[j];
cout << endl;
return 0;
}
PS:上面的代码是我前些时写的,所以没有注释.
这位兄弟将代码拿去跑一遍就知道了,结果是正确的
C. C语言:编程输入n个整数,用选择法排序将它们按升序重新排列后输出。
代码如下:
//#include"stdafx.h"//vc++6.0加上这一行.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
intn,x[20],i,j,k;
while(1){
printf("Inputn(intn<=20)... ");
if(scanf("%d",&n),n==0)
break;
for(i=0;i<n;scanf("%d",x+i++));
printf(" Aftersortingasfollows: ");
for(i=0;i<n;i++){
for(k=i,j=k+1;j<n;j++)
if(x[k]>x[j])k=j;
if(k!=i){
j=x[k];
x[k]=x[i];
x[i]=j;
}
printf(i<n-1?"%d":"%d ",x[i]);
}
}
return0;
}
D. c语言编程 输入正整数n,求n是几位数
当你输入一个正整数n时,你需要编写一个C语言程序来确定n是几位数。这可以通过计算n的位数来实现。具体来说,你可以使用循环来将n除以10,直到n小于10为止。每次除以10时,计数器加1,最终计数器的值就是n的位数。
以下是一个简单的C语言程序,可以实现这个功能:
```
#include <stdio.h>
int main() {
int n;
int count = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n >= 10) {
n /= 10;
count++;
}
count++; // 加上最高位
printf("%d 是 %d 位数。\n", n, count);
return 0;
}
```
在这个程序中,我孙派蔽们首先声明羡团了一个变量n来存储输入的正整数,以及一个计数器count来记录n的位数。然后,我们使用scanf函数来读取用户输入的n。接下来,我们使用一个while循环来将n除以10,直到n小于10为止。每次循环时,计数器count加1。最后,我们再将count加1,以计算最高位的位数。最后,我们使用printf函数输出n的位数。
希望这个C语言程序能够帮助你解决这则州个问题!