A. 逆向顯示輸入的非負整數值(c語言)
是不是修改後沒重新編譯啊?這個程序運行正常的啊(程序未作修改)?
B. c語言程序:從鍵盤輸入一非負整數n,並求出n!的值
#include<stdio.h>
void main()
{int n,t,i;
printf("請輸入非負數n");
scanf("%d",&n);
t=1;
for(i=1;i<=n;i++)
t=t*i;
printf("N!=%d",t);
}//很欠沒有用C語言了,呵呵!!本來可以用函數的,10分有點少就不寫了,應調試能夠通過的,但輸的整數不能太大
C. c 語言中非負實數怎樣表示
c語言基本數據類型中沒有實數,
浮點數可以用double/float, 整數就是 int, 非負,就直接在前面增加unsigend
例如:unsigned int, unsigned double
ps:是的,當年學藝不精留下的坑。如評論所言,不能用unsigned 修飾浮點數。
D. c語言初學,求解
一般用gets讀入一行,再用字元串處理為s1、s2、s3三個字元串,或者scanf("%s%s%s", s1,s2,s3)直接讀入;
然後第一步是找出op,測試兩次:
如果s1在「+-*/」中,那麼op=s1;x=s2;y=s3;
如果s2在「+-*/」中,那麼op=s2;x=s1;y=s3;
否則op=s3;x=s1;y=s2;
接下來你會處理了吧,switch(op[0]) 輸出x +(或者-*/) y的結果
E. 用c語言編寫程序,輸入一個非負整數(小於10位),計算該數各位數字的和
您好,很高興回答您的問題。
您這個題目本身並不復雜,只要掌握了對一個數據分離其各個位置上的數據的方法即可。您可以定義一個一維數組,用來存放各個位置上數據。首先從鍵盤輸入一個數,最好設置為實型數據。首先通過循環判斷是幾位數,然後再用循環分解每一位置上的數字,這里要學會使用%和/號。還要定義一個產量,用來存放各位數字的和,記住其初始值一定設置為0。每分解一位就加到放和的變數中。
以上就是我的回答,希望能幫助到您。你可以自己試一試,有問題我們再討論哦。
F. C語言列印輸入的非負整數,一行列印一個整數,輸入的整數以-1表示結束
#include <stdio.h>
int main()
{
int n = 0;
while ((scanf("%d", &n) == 1)&&(n != -1))
{
printf("%d\n", n);
}
return 0;
}
G. C語言正則表達式匹配非負整數,為什麼不能匹配成功,用的regexec
代碼的邏輯無錯,& reg被網路錯轉義成®
#include <stdio.h>
#include <regex.h>
#include <sys/types.h>
/* 主程序 */
int main(int argc, char** argv)
{
int status,i = 100;
int cflags = REG_EXTENDED;
regmatch_t pmatch[1];
const size_t nmatch = 1;
regex_t reg;
const char *pattern = "^\\d+$";
printf("%s\n",pattern);
char buf[] = "12345",buff[1024]={0};
i = regcomp(& reg,pattern,cflags);
printf("i = %d\n",i);
status = regexec(& reg,"12345",0,NULL,0);
if(status == REG_NOMATCH) {
printf("NO Match\n");
regerror (status, & reg, buff, 1024);
printf("%s\n",buff);
} else if(status == 0) {
printf("Match\n");
}
regfree(& reg);
return 0;
}
輸出
^\d+$
i = 0
Match
主要注意正確鏈接上pcreposix和pcre兩個庫,鏈接的先後也不能錯。
H. c語言,求兩個非負整數的最大公約數和最小公倍數
最大公約數:枚舉法,輾轉相除法;最小公倍數:兩數乘積除以最大公約數即可。
#include<stdio.h>
#include<math.h>
intfun_gy(int,int); //聲明最大公約數函數
intfun_gb(int,int); //聲明最小公倍數函數
main()
{
inta,b,gy,gb;
printf("輸入兩個整數: ");
scanf("%d%d",&a,&b);
gy=fun_gy(a,b); //調用最大公約數函數
gb=fun_gb(a,b); //調用最小公倍數函數
printf("最大公約數是:%d 最小公倍數是:%d ",gy,gb);
if(x%i==0&&y%i==0)
break;
兩個整數的最大公約數
* 兩數各分解質因數,然後取出同樣有的質因數乘起來
*輾轉相除法(擴展版)
和最小公倍數(lcm)的關系:
gcd(a, b) * lcm(a, b) = ab
a與b有最大公約數,
兩個整數的最大公因子可用於計算兩數的最小公倍數,或分數化簡成最簡分數。
兩個整數的最大公因子和最小公倍數中存在分配律:
* gcd(a, lcm(b, c)) = lcm(gcd(a, b), gcd(a, c))
* lcm(a, gcd(b, c)) = gcd(lcm(a, b), lcm(a, c))
在坐標里,將點(0, 0)和(a, b)連起來,通過整數坐標的點的數目(除了(0, 0)一點之外)就是gcd(a, b)。
以上內容參考:網路-最大公約數
I. 從鍵盤輸入一個非負整數n,若為奇數,輸出"Odd";若為偶數,輸出"Even".用C語言怎麼實現。
#include<stdio.h>
int main()
{int n;
scanf("%d",&n);
if(n%2)printf("Odd\n");
else printf("Even\n");
return 0;
}