❶ c語言怎樣使computer輸出後變comp
printf("%8.4s "棗余槐凳友毀寬,"computer");
❷ C語言中,怎麼比較三個數的大小
比較方法:
1、比較從第一個數開始,先比較第一個數和第二個數的大小,如果第一個數大於第二個數,則將第一個數和第二個數互換;不大於(即等於或小於)則不作處理。
2、然後,再將第二個數和第三個數比較,同樣,若大於則將它們互換。
以1
2
3為例
先考慮我們所有的可能輸入類型(這里不一一列舉):1
2
3;3
2
1
;2
1
3;1
1
1;1
2
2;1
2
1;整體的思路為輸入三個數後,我們從中取兩個數,在這兩個數中選出最大的後將最大的數與第三個數做差比較這里請參考代碼理解;
代碼:
#include<stdio.h>
int
comp(int
x,int
y)
{
return
x>y?x:y;
}
int
main()
{
int
i,j,k;
int
a,b,c;
scanf("%d
%d
%d",&a,&b,&c);
j=comp(a,b);//j為兩個數里最大的值
k=c;//a+b-j求的是a,b里比較小的那個數;
if(j-k<0){printf("%d
%d
%d",k,j,a+b-j);return
0;}
//說明K最大按順序輸出就可以了1
2
3;2
2
3
if(j-k>=a+b-j){printf("%d
%d
%d",j,a+b-j,k);return
0;}//3
2
1
if(j-k<a+b-j){printf("%d
%d
%d",j,k,a+b-j);return
0;}//
3
2
3
}
總結:
其實這個代碼本質也和用if語句比較大小排序差不多,只不過這里不需要每次都調用三個if語句,直接一條if語句便可輸出答案效率更高一點。
❸ C語言字元串快速排序函數
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedefcharstrLINE[2000];
intstrCMP(constvoid*a,constvoid*b)
{
returnstrcmp((constchar*)a,(constchar*)b);
}
intmain(intargc,char*argv[])
{
strLINE*p;
inti,n;
scanf("%d",&n);
p=malloc(sizeof(strLINE)*n);
for(i=0;i<n;i++)scanf("%s",p[i]);
qsort(p,n,sizeof(strLINE),strCMP);
for(i=0;i<n;i++)printf("%s ",p[i]);
free(p);
return0;
}
❹ c語言密碼核對
加了一個,while句,錯了 可以繼續輸入~
#include <stdio.h>
#include <string.h>
int comp(char* code1, char* code2); //定義密碼比較函數
int main(void)
{
char code1[20]={0,};
char code2[20]={0,};
int rt;
while(1)
{
printf("輸入密碼: "); //pw1
scanf("%s",code1);
printf("密碼確認: "); //pw2
scanf("%s",code2);
rt = comp(code1,code2); // Call 比較函數
if(rt == 0)
{
printf("鎮亮檔\n-恭喜!密碼一直!\n\鍵型n");
break;
}
else
printf("\n-很遺憾!密碼錯了!\n\n");
memset(code1,0x00,sizeof(code1)); //清楚內容
memset(code2,0x00,sizeof(code2));
}
return 0;
}
int comp(char* code1, char* code2) //比較函御亂數 構造
{
return strcmp(code1,code2);
}
❺ c語言:編程實現輸入兩個字元串,輸出其中較小者
#include"stdio.h"
#include"string.h"
voidmain()
{
chara[100],b[100];
intcomp;
printf("Pleaseinput2string: ");
scanf("%s%s",a,b);
comp=strcmp(a,b);
if(comp>0)
猜隱printf("Thebiggeris%s ",a);
elseif(comp<0)
printf("The握啟biggeris%s ",b);
段兆如else
printf("%s=%s ",a,b);
getch();
}
❻ c語言函數 int comp(const void*a,const void*b) { retur
就是先將變數a和b強制類型轉換為int型指針,然後引用其中的值進行減法運算再降結果返回
❼ C語言求成績平均值
是對的呀~是不是少了最後的 return 0;}
如下:
#include<stdio.h>
intmain()
{
intmath,eng,comp,average;
while(scanf("%d%d%d",&math,&eng,&comp)!=EOF)
{average=(math+eng+comp)/3;
printf("math=%d,eng=%d,comp=%d,averag=%d ",math,eng,comp,average);
}
return0;
}
❽ c語言編程題 求復數相乘
#include<stdio.h>
typedef
struct
complex
{
float
re;
float
im;
}comp;
comp
mut
(comp,comp);
void
print_out(comp);
void
main()
{comp
x,y,z;
printf("輸入2個復派斗數
\悄羨悄n");
printf("輸入第一個復數
a+bi:");
scanf("%f+%fi",&x.re,&x.im);
printf("輸入第二個復數
x+yi:");
scanf("%f+%fi",&y.re,&y.im);
z=mut
(x,y);
print_out(z);
}
comp
mut
(comp
x,comp
y)
//多了分啟渣號,下面的函數也是
{
comp
z;
z.re=x.re*y.re-x.im*y.im;
z.im=x.re*y.im+x.im*y.re;
return
z;
}
void
print_out(comp
z)
{
printf("%.2f",z.re);
if(z.im>0)printf("+%.2fi\n",z.im);
else
printf("-%.2fi\n",-z.im);
}
❾ C語言中比較大小問題
你輸入的數太大,已經超出范圍了。
另外,請你看清楚題目:
given two positive integers A and B,兩個無符號數A、B,因此需定義為整型,而不是雙精度型。你類型定義錯了。
1≤A,B≤10100,輸入的A、B的值最大不超過10100,你輸入的數也超出題目要求的范圍了。你輸入的數不符合題目要求。
編程之前,至少要看清楚題。
❿ C語言中,空串一定比空格開頭的字元串小
1、空串的值為"\0"即在計算機asc值為:0
空格開頭的字元的asc值為:32
所以空格大於空串;
2、不能用關系運算符在C語言中對字元串進行比較,但你可以用strcmp()函數對兩個字元串進行比較。
你問的是字元比較,如果字元可以用關系運算符進行比較,因為在C語言中,字元比較是按asc值進行比較的,所以實際上是整數進行比較。