① c語言編輯程序,任意輸入3個數,按從大到小的順序輸入
思路:三個數按從大到小順序輸出,可以先求出三個數中的最大值和最小值,三個數的和減去最大值和最小值的差就是中間數,接著依次輸出即可。
參考代碼:
#include "stdio.h"
int main()
{
int a,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
if(a>b){
max=a;
min=b;
}
if(c>max) max=c;
if(min>c) min=c;
printf("從大到小排序:%d %d %d\n",max,a+b+c-max-min,min);
}
/*
運行結果:
3 1 2
從大到小排序:3 2 1
*/
② c語言作業
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
2.程序源代碼:
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出個位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
1.程序分析:採取逆向思維的方法,從後往前推斷。
2.程序源代碼:
main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{x1=(x2+1)*2;/*第一天的桃子數是第2天桃子數加1後的2倍*/
x2=x1;
day--;
}
printf("the total is %d\n",x1);
}
long a; //陌生人給富翁,單位萬
long b; //富翁給陌生人,單位分
int main()
{
int i;
long todaygive;
todaygive=1;
for(i=0;i<30;i++)
{a+=10;
b+=todaygive;
todaygive*=2;
}
printf("陌生人給富翁:%ld0000元\n",a);
printf("富翁給陌生人:%ld.%ld元",b/100,b%100);
getchar();
}
③ c語言的作業:插入數據進行排序的問題
#include"stdio.h"
void main()
{
int i,j,k,t,x;
int a[20]={2,4,6,8,10,12,14,16};
printf("未插入之前的數組為");
for(i=0;i<8;i++)
printf("%5d",a[i]);
printf("\n");
printf("請輸入你要插入的數:");
scanf("%d",&x);
for(i=0;i<8;i++)
if(a[i]>x)
break;
t=i;
for(j=7;j>=t;j--)
a[j+1]=a[j];
a[t]=x;
printf("插入數據後的數組為");
for(k=0;k<=8;k++)
printf("%5d",a[k]);
printf("\n");
},插入排序法
④ C語言的編程題:輸入三個整數,按從大到小的順序輸出
#include <stdio.h>
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x<y)
{t=x;x=y;y=t;}
if(x<z)
{t=z;z=x;x=t;}
if(y<z)
{t=y;y=z;z=t;}
printf("%d %d %d ",x,y,z);
}
(4)c語言作業輸入順序擴展閱讀:
使用三元運算符,這個運算符會使程序進一步簡化,而且看起來更加的直觀。
它的一般形式如下:
表達式1? 表達式2:表達式3;
? 表達式的值是由 表達式1 決定的。如果 表達式1 為真,則計算表達式2 的值,結果即為整個 ? 表達式的值。如果 表達式1 為假,則計算 表達式3 的值,結果即為整個 ? 表達式的值。
程序如下:
#include<stdio.h>
int main()
{
int max;
int a,b,c;
printf("請輸入三個數:");
scanf("%d %d %d",11&a,&b,&c);
max=a>b?a:b;
max=c>max?c:max;
printf("Max is %d",max);
return 0;
}
⑤ 請問C語言程序中,輸入提示和輸入語句的順序應如何安排
最好是先提示再用輸入語句
⑥ C語言作業: 從鍵盤輸入3個整數,按照從小到大的順序輸出
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("請輸入三個整數:a b c ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
printf("排序後的三個整數為:%d,%d,%d ",a,b,c);
}
(6)c語言作業輸入順序擴展閱讀:
scanf函數原型
int(const char*restrict format,...);
函數scanf()是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
返回值
scanf函數返回成功讀入的數據項數,讀入數據時遇到了「文件結束」則返回EOF。
如:
scanf("%d%d",&a,&b);
函數返回值為int型。如果a和b都被成功讀入,那麼scanf的返回值就是2;
如果只有a被成功讀入,返回值為1;
如果a和b都未被成功讀入,返回值為0;
如果遇到錯誤或遇到end of file,返回值為EOF。end of file為Ctrl+z或者Ctrl+d。
例:使用scanf函數輸入數據。
#include<stdio.h>
int main(void)
{
int a,b,c;
printf("Give me the value of a,b,c seperated with whitespaces: ");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d ",a,b,c);
return 0;
}
&a,&b,&c中的&是定址操作符,&a表示對象a在內存中的地址,是一個右值。變數a,b,c的地址是在編譯階段分配的(存儲順序由編譯器決定)。
注意:如果scanf中%d是連著寫的如「%d%d%d」,在輸入數據時,數據之間不可以用逗號分隔,只能用空白字元(空格或tab鍵或者回車鍵)分隔——
「2(空格)3(tab)4」或「2(tab)3(回車)4」等。若是「%d,%d,%d」,則在輸入數據時需要加「,」,如「2,3,4」。
⑦ C語言如何輸入十個數,按從大到小順序排列!
用選擇排序法編寫c語言,實現從鍵盤上輸入10個數,按從大到小的順序排序輸出。代碼如下:
#include<stdio.h>
int main()
{
int i,j,a[10],t;
printf("輸入數");
for (i = 0; i < 10; i++)
scanf("%d",&a[i]);
for (i = 0; i < 10; i++)
{
for (j = i + 1; j < 10;j++)
if (a[i] < a[j]){
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
printf("從大到小");
for (i = 0; i < 10; i++)
printf("%2d", a[i]);
return 0;
}
(7)c語言作業輸入順序擴展閱讀:
代碼還可以設計,如下:
#include<stdio.h>
int main()
{
int a[10],i,j,t;//定義數組;
for(i=0;i<10;i++){
scanf("%d",&a[i]);//給數組賦值;
}
for(i=0;i<9;i++)//10個數,進行9輪比較;
for(j=0;j<10-i;j++){//第一個數比較9次,依次遞減;
if(a[j]>a[j+1]) {//交換值;
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);//輸出數組的值;
}
return 0;
}
}
printf("the sorted numbers: ");
for(i=0;i<10;i++)
printf(" %d",a[i]);
printf(" ");
}
⑧ c語言作業:輸入三個整數,要求按從小到大的順序輸出(要求要用指針)這是指針一章的課後習題
可以這樣寫:
#include<stdio.h>
int main()
{
int a,b,c,t;
int *pa=&a,*pb=&b,*pc=&c;
scanf("%d %d %d",pa,pb,pc);
if(*pb<*pa)
{
t=*pa;
*pa=*pb;
*pb=t;
}
if(*pc<*pa)
{
t=*pa;
*pa=*pc;
*pc=t;
}
if(*pc<*pb)
{
t=*pb;
*pb=*pc;
*pc=t;
}
printf("%d %d %d",*pa,*pb,*pc);
return 0;
}
運行截圖如下:
⑨ c語言輸入順序問題
如果只有一個字母一個數字這兩個字元的話 可以輸入之後做判斷 判斷第一個字元是否大於字元0小於字元9 然後做交換
如果不止兩個就邊輸入邊判斷 但可能有點慢
望採納~
⑩ C語言作業:輸入三個整數,要求按從小到大的順序輸出
輸入三個整數,要求按從小到大的順序輸出。
解題思路:此題採用依次比較的方法排出其大小順序。
main(
)
{
int
a
,
b
,
c
,t;
scanf(「%d
,
%d
,
%d」
,
&a
,
&b
,&c)
;
printf(「\n\n
a=%d
,
b=%d
,
c=%d
\n」
,a
,
b
,
c)
;
if(a>b)
{t=a
;
a=b
;
b=t
;}
if(a>c)
{t=a
;
a=c
;
c=t
;}
if(b>c)
{t=b
;
b=c
;
c=t
;}
printf(「\n\n
a=%d
,
b=%d
,
c=%d
\n」
,a
,
b
,
c)
;
}
即可