A. c語言 編寫一個程序,輸入一個正整數,求出它是幾位數。
/*功能:輸入一個任意長度的正整數,求出它是幾位數。*/
#include<stdio.h>
int main()
{
int number; int count = 0;//記錄個數
scanf("%d", &number);
if (number == 0)
{
printf("number is %d\n",count+1);//0是一位數
} else
{
while (number != 0)
{
number = number / 10;
count++;
} printf("number is %d", count);
} return 0;
}
B. 用C語言編寫程序從鍵盤輸入一個正整數數n,輸出n!
編程實現計算n!,也就是n*(n-1)*(n-2)*....*1,可以通過遞歸函數來實現,具體實現方法:
#include <stdio.h>
int Func(int n)
{
if(n < 2)
return 1;
else
return n*Func(n-1);
}
void main()
{
int n =0,m=0;
printf("請輸入一個正整數:")
scanf("%d",&n);
m=Func(n);
printf("%d!=%d
",n,m);
}
在以上程序代碼中,Func()為遞歸函數,主函數main()中接收鍵盤輸入整數值後,調用Func()遞歸函數,首層m=n*(n-1)!,繼續遞歸調用,m=n*(n-1)(n-2)!,這樣逐層遞歸,直到計算出N!。
程序輸出結果如下:
(2)輸入一個正整數c語言擴展閱讀:
所謂n的階乘就是從1到n的乘積,所以除了遞歸法來實現以外,其實我們也可以通過一個for循環,從1到n依次求積同樣可以達到計算n!的目地。
具體實現代碼如下:
#include <stdio.h>
int main() {
int n,i,s=1;
scanf("%d",&n);
for(i=1;i<=n;i++)//for循環求累積
s=s*i;
printf("%d ",s);
return 0;
}
/*
運行結果:(例如求5的階乘)
5
120
*/
C. . c語言編程:輸入一個正整數,統計該數的各位數字中零的個數,並求各位數字中的最大者。
#include <stdio.h>
int main()
{
int n,t,count=0,max=0;
printf("請輸入正整數n: ");
scanf("%d",&n);
while(n)
{
t=n%10;
if(t==0)
count++;
else if(t>max)
max=t;
n=n/10;
}
printf("count=%d,max=%d ",count,max);
return 0;
}
count:0的個數。
max:各位數字中的最大者
(3)輸入一個正整數c語言擴展閱讀:
while 循環的格式是:
while (表達式)
{
語句;
}
當表達式為真,則執行下面的語句;語句執行完之後再判斷表達式是否為真,如果為真,再次執行下面的語句;然後再判斷表達式是否為真……就這樣一直循環下去,直到表達式為假,跳出循環。這個就是 while 的執行順序。
D. C語言編寫程序 :輸入一個正整數,將其逆序輸出。例如,輸入12345,輸出54321. 跪求大神用循環語句
#include
int main()
{
int n ;
scanf("%d",&n);
while(n>0)
{
printf(" %d",n%10);
n = n / 10;
}
printf(" ");
return 0;
}
拓展資料
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
E. 輸入一個正整數輸出其反序數,c語言
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void
main(){
int
ipnumber,i;
char
string[100];
printf("請輸入要進行反序的正整數:");
scanf("%d",&ipnumber);
itoa(ipnumber,string,10);
i=strlen(string);
printf("\n反序後的正整數為:");
while(i>=0)
printf("%c",string[--i]);
printf("\n");
}
利用函數實現較為簡單,但是輸入的整數大小有一定的限制,這里不能超過10位,超過後因為超過了整形的表示範圍,從而不能將其正確的反序,如果想不受表示範圍的限制,可以對整數進行分割(利用對10求余和對10進行整除),再逐位的輸出。
F. C語言:輸入一個正整數, 計算並顯示出該數的各位數字之和.
輸出該數的各位數字之和的源代碼如下:
#include <stdio.h>
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);
}
(6)輸入一個正整數c語言擴展閱讀
1、輸入的數字要是整數,並且要在規定范圍內。
2、對輸入的數要進行拆分,注意1和本身不能在求和之中。
3、可以使用循環對輸入的數(n)遍歷,如果n%i余為0,則表明能整除,次i則為因子。
G. c語言怎麼寫出:「輸入一個正整數n,再輸入n個整數,輸出最小值」的代碼
1、首先,定義三個整型變數,保存正整數、臨時變數和各位數總和。
H. C語言題目,輸入一個正整數n,輸出該數各位數字的積 例如,輸入1234 輸出24
#include <stdio.h>
int main()
{
int num,s=1;
scanf("%d",&num);
while(num>0)
{
s=s*(num%10);
num/=10;
}
printf("每位數之積是:%d ",s);
return 0;
}
(8)輸入一個正整數c語言擴展閱讀:
三個循環的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while循環和for循環都是先判斷表達式,後執行循環體。
而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while循環和for就可能一次都不執行。
另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
I. C語言 輸入一個正整數N和N個正整數,統計其中素數的和。
#include<stdio.h>
intIsPrime(intn)
{
inti;
if(n==1)
return0;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return0;
}
return1;
}
intmain()
{
inti,N,sum=0,data[100];
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&data[i]);
if(IsPrime(data[i]))
{
sum+=data[i];
printf("%d",data[i]);
}
}
printf("s=%d ",sum);
return0;
}