c編程試題
#include <stdio.h>
#include <math.h>
void main(void)
{
double a;
double b;
double c;/* 以上三個變數分別對應三邊 */
double sin_c;/* c邊對應角的正玄值 */
double cos_c;/*c邊對應角的余玄值*/
double cos_a;
double area; /* 三角形的面積 */
printf("輸入a,b,c:");
scanf("%lf, %lf, %lf", &a, &b, &c);
if(((a+b)>c) && (a-b)<c)
{
printf("三邊能夠成三角形\n.");
cos_c = (a*a + b*b -c*c)/(2*a*b);
cos_a = (b*b + c*c - a*a)/(2*b*c);
if ((cos_c > 0) && (cos_a >0))
{
printf("三角形是銳角三角形。\n");
}
else if ((cos_c < 0) || (cos_a < 0))
{
printf("三角形是鈍角三角形\n");
}
else
{
printf("三角形是直角三角形\n");
}
sin_c = sqrt(1- cos_c*cos_c);
area = a*b*sin_c/2;
printf("三角形的面積是%f.\n",area);
}
else
{
printf("三邊不能構成三角形\n");
}
}
② c語言編程題目
#include<stdio.h>
int main()
{
int i, j, T;
while (scanf("%d", &T) != EOF &&(T>=1&&T<=2000))
{
int a[T][2];
for (i = 0; i < T; i++)
for (j = 0; j < 2; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < T; i++)
{
printf("case %d:\n", i + 1);
printf("%d\n", a[i][0] + a[i][1]);
}
}
return 0;
}
③ C語言編程試題
1、
#include<stdio.h>
int main()
{
int n;
int s=0;
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
s += 1/i
}
printf("輸出為:%d",s);
}
2、
#include<stdio.h>
int main()
{
int s=0;
for (int i=1;i<=100;i++)
{
s += i
}
printf("輸出為:%d",s);
}
3、
#include<stdio.h>
int main()
{
int n;
int s=1;
if (0<n<17)
{
for (int i=1;i<=n;i++)
{
s = s*i;
}
}
printf("輸出為:%d",s);
}
4、
5、
#include<stdio.h>
int main()
{
int x;
int i,f;
f=0;
scanf("%d",&x);
for(i=2;i<x;i++)
{
if(x%i==0) {
f=1;
break;
}
else {
f=0;
continue;
}
}
if(f)
printf("no\n");
else
printf("yes\n");}
}
兩年多沒有接觸C語言了。不知道對不對,第四題還真的忘記了,大學時做過
④ c語言編程題目,求大佬解答
#include<stdio.h>
float fun(float *a,float *b)//兩個數,數值交換函數
{
float t;
t=*a;
*a=*b;
*b=t;
}
int main()
{
float sum=0.0;
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
sum=(a+b+c)/3.0;
printf("平均分:%.1f ",sum);
if(b>a)
fun(&b,&a);//if條件成立,數值交換,下同;
if(c>a)
fun(&c,&a);
printf("最高分:%.1f ",a);
if(b<a)
fun(&b,&a);
if(c<a)
fun(&c,&a);
printf("最低分:%.1f ",a);
printf("成績等級:");
if(sum>90)
printf("優");
if(sum>=80&&sum<=90)
printf("良");
if(sum>=60&&sum<=80)
printf("中");
if(sum<60)
printf("差");
return 0;
}
⑤ C語言編程題目
C語言參考程序:
#include<stdio.h>
int IsLeap(int year)
{
return (year%400==0 || (year%4==0 && year%100!=0));
}
void main()
{
for(int year=2000; year<=2050; year++)
{
if(IsLeap(year))
{
printf("%d
", year);
}
}
}
運行結果:
⑥ C語言編程題目
#include <stdio.h>
char *StrCat(char *s,char *t)
{
int i=0,j=0;
char *s1,*t1;
s1=s;t1=t;
for(;*s1;s1++,i++);
for(;*t1;t1++,j++);
if(i<=j)
{
for(;*t;)*s1++=*t++;*s1='\0';
return s;
}
else
{
for(;*s;)*t1++=*s++;*t1='\0';
return t;
}
}
int main(int argc, char *argv[])
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
printf("%s",StrCat(a,b));
return 0;
}
⑦ C語言編程的題目
無論是哪門程序語言都少不了對於字元串的處理,而且用好的話能幫我們解決很多數據處理等方面的問題!
下邊我們就一起來看看python是如何分解並統計字元串的?
案例
輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。
先上代碼~
運行效果
題目詳述
第一行:
s = input('請輸入一個字元串: ')
定義一個輸出字元串的input函數,並且將字元串賦值給變數s,其中的 為換行符,目的是為了格式好看一些,不需要的朋友可以選擇去掉
第二行:
letters = 0
space = 0
digit = 0
others = 0
定義四個變數,依次是letters、space、digit、others,分別用來統計英文字元、空格、數字以及其他的個數,初始值均為0
第三行:
for c in s:
將字元S拆分,並且遍歷里邊的每個元素,賦值給c
第四行:
if c.isalpha():
letters += 1
isalpha是一種函數:判斷字元ch是否為英文字母,若為英文字母,返回非0(小寫字母為2,大寫字母為1)。若不是字母,返回0。
判斷拆分元素c是否是英文字母,如果是的話英文字母的統計變數letters的值加1
第五行:
elif c.isspace():
space += 1
判斷:元素c是否是空格,如果是的話,空格的統計變數space的值加1
第六行:
elif c.isdigit():
digit += 1
判斷:元素c是否是數字,如果是的話,數字的統計變數digit的值加1
第七行:
else:
others += 1
判斷:元素c以上的都不滿足,就是特殊符號,其他的統計變數others的值加1
進階:
利用這個原理我們就輕松的實現了對於字元串的拆分統計
是不是很便捷呢
結束語
總體來說思路只要有了,以後遇到類似的問題就可以解決了,是不是發現原來Python也沒有想像中的那麼難!
———— e n d ————
⑧ c語言編程題目。。
#include<stdio.h>
intmain()
{
charc;
//請注意你源程序定義的是intc,故你輸入進去雖然是字元,然而c裡面是數值,參與比//較時會出現問題,所以定義c為字元變數,才能夠產生字元間的比較
inti,count[5]={0};
printf("請輸入字元串: ");
while((c=getchar())!=' ')
//你源程序while語句最後面多了個分號,導致循環有誤
//現在我刪掉了分號,可以開始正常循環
{
if(c>='0'&&c<='9')
count[0]++;
elseif(c>'a'&&c<'z')//最好您能夠改成大於等於或小於等於
count[1]++;
elseif(c>'A'&&c<'Z')//最好您能夠改成大於等於或小於等於
count[2]++;
elseif(c==''||c==' ')
count[3]++;
else
count[4]++;
}
for(i=0;i<5;i++)
{
switch(i)
{
case0:printf("數字字元:");break;
case1:printf("小寫字元:");break;
case2:printf("大寫字元:");break;
case3:printf("空格字元:");break;
case4:printf("其他字元:");
}
printf("%d ",count[i]);
}
return0;
}
//現在程序沒什麼大問題,但是會出現一些小問題,如下圖:一些邊界如A或Z的比較產生問題
⑨ 急求c語言編程題目
rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數,使用 rand() 生成隨機數之前需要用隨機發生器的初始化函數 srand(unsigned seed)(也位於 stdlib.h 中) 進行偽隨機數序列初始化,seed 又叫隨機種子,通俗講就是,如果每次提供的 seed 是一樣的話,最後每一輪生成的幾個隨機值也都是一樣的,因此叫偽隨機數,所以需要每次提供不同的 seed 達到完全的隨機,我們通常用時間函數 time(NULL) 作為 seed ,因為時間值每秒都不同,這個函數需要包含以下頭文件:
#include <time.h>
1
理論太泛,下面用例子分析理解。
舉例分析
先來理解以下偽隨機數,編譯以下代碼:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(1);
int i;
for (i = 0; i < 10; i++)
printf("%d, ", rand()%11);
}
1
2
3
4
5
6
7
8
9
10
運行結果
8, 9, 9, 1, 7, 5, 5, 10, 1, 0,