『壹』 c語言設計r
int fl(int x,int y)
{ return x>y?x:y; } 定義f1函數,x>y?x:y意思是如果x>y成立,輸出x的值,否則輸出y。整個函數是比較x、y的大小,取較大值。
int f2(int x,int y)
{ return x>y?y:x; } 定義f2函數,x>y?y:x意思是如果x>y成立,輸出y的值,否則輸出x。整個函數是比較x、y的大小,取較小值。
main()
{ int a=4,b=3,c=5,d,e,f; 定義整型變數a=4、b=3、c=5、d、e、f
d=f1(a,b); d=f1(d,c); d先取a、b間的大者,再取d、c間的大者
e=f2(a,b); e=f2(e,c); e先取a、b間的小者,再取e、c間的小者
f=a+b+c-d-e; 運算f=a+b+c-d-e的值
printf("%d,%d,%d\n",d,f,e); 輸出,不明白這一句……
}
『貳』 c語言 將一個十進制整數m轉化成r進制整數的字元串表示形式。最好難的地方說明下。謝謝~
i-x-1都應該改成x-i-1。樓主的意思就是乘以16的對應的位數次方唄,你仔細看看就知道應該是x-i-1
2、我們假設十位上是的數字是1,那麼這個數代表了16,這時候用一個字元是無法表示的
也就是說,不能簡單的用s[i]去存放原16進制的某位轉換成10進制對應的數
一個簡單的修改方法是,讓func函數返回一個int型的數值,這個返回值就是對應的十進制數
具體代碼見下
#include<stdio.h>
#include<string.h>
#include<math.h>
int func(char s[],int x);
void main()
{
char a[20];
int n;
int num;
printf("請輸入一串十六進制數:");
scanf("%s",a);
n=strlen(a);
num=func(a,n);
printf("%s=%d",a,num);
}
int func(char s[],int x)
{
int i;
int num=0;
for(i=x-1;i>=0;i--)
{
if(s[i]>='0'&&s[i]<='9')
{
num+=(int)((s[i]-'0')*pow(16,x-i-1));
}
if(s[i]>='a'&&s[i]<='f'){
num+=(int)((s[i]-'a'+10)*pow(16,x-i-1));
}
if(s[i]>='A'&&s[i]<='F'){
num+=(int)((s[i]-'A'+10)*pow(16,x-i-1));
}
}
return num;
}
『叄』 請輸入一系列整數怎麼用c語言表達
輸入的數目不定,只是在設計階段未知,在實際輸入的時候,一定是有具體的數量的,所以對於這種情況,需要先做一個約定,常用的有兩種方法:1
在輸入前,先輸入一個總數,然後輸入總數個整數。2
約定輸入的結束符,如遇到換行結束輸入,或者以EOF為結束輸入標記。對於每種情況,處理的方式大致相同,但略有區別。1
不需要保存每個值,而是只需要使用該值即可。這樣可以讀入每個數,逐個處理即可。2
需要保存所有值的,可以將所有值保存在數組中,這個數組可以是靜態的,也可以是動態的。如果可以確定數據的最大規模,比如最多1000個數,那麼可以先創建一個足夠大的,比如1000個元素的數組,靜態動態均可。然後依次將元素存入。如果無法確定最大規模,那麼就必須用動態數組。對於先輸入總數的情況,可以在得到總數後,根據總數申請一個動態數組。對於總數在輸入完成前始終未知的情況,可以先申請一定空間的值,在每次空間不足時,使用realloc函數,重新分配空間,實現不定量存儲。
『肆』 C語言中正整數怎樣表達
先用那個FILE 定義一個指針,打開你這個文件(fopen())
然後就是一個一個的選擇看了,用三個整型(初始化為0)分別表示這三種數的個數。
『伍』 用C語言寫程序,實現一個整數從R進制(R由鍵盤輸入)到十進制的互換。例如,若從鍵盤輸入8進制數17
#include<stdio.h>
#include<string.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
intmain(void)
{
longt1;
inti,n,t,t3;
chara[100];
printf("請輸入一個數: ");
gets(a);//將輸入的n進制的數儲存在數組a中
strupr(a);//將數組中的小寫字母轉化為大寫字母
t3=strlen(a);//求出數組的長度
t1=0;
printf("請輸入轉換的數的進制: ");//輸入要轉換的數的進制
scanf("%d",&n);
for(i=0;i<t3;i++)
{
if(a[i]-'0'>=n&&a[i]<'A'||a[i]-'A'+10>n)//判斷輸入的數據和進制數是否符合
{
printf("dataerror!! ");//錯誤
exit(0);
}
if(a[i]>='0'&&a[i]<='9')//判斷是否為數字
t=a[i]-'0';//求出該數字賦值給t
elseif(n>=11&&(a[i]>='A'&&a[i]<='A'+n-10))//判斷是否為字母
t=a[i]-'A'+10;//求出該字母所代表的十進制數
t1=t1*n+t;//求出最終轉換成的10進制數
}
printf("轉化為的10進制數為%ld ",t1);
return0;
}
『陸』 如何用C語言R
\b = 退格鍵(backspace)
\r = 回車鍵(carrige return)
例如, 假設x一個整數,則語句
printf("%d\r", x);
輸出x的當前值,然後把游標移到行首。
真正常用的轉義符是\n(newline換行)
printf("%d\n", x);
輸出x的當前值,然後換行到下一行的行首。