『壹』 求c語言代碼
幾個人沒一個說明白的。
第一題是求素數平方和。先用篩法算素數,再求和。但樓主你沒給數據范圍,也沒給輸入輸出格式,暫且算到1024
#defineN1024
voidCalculatePrime(intin[])
{
inti=0;
intj;
in[0]=in[1]=-1;
for(i=2;i<N;i++)
{
if(in[i]==0)
for(j=i*2;j<N;j+=i)
in[j]=-1;
}
}
intmain()
{
intprime[N]={0};
inti,n;
longlongsum;
CalculatePrime(prime);
printf("Inputn(n<%d):",N);
scanf("%d",&n);
for(i=2,sum=0;i<=n;i++)
{
if(prime[i]==0)
sum+=(i*i);
}
printf("resultis%lld ",sum);
return0;
}
第二題沒什麼說的,就是一個下三角的矩陣,同樣,你沒給輸入數據的范圍和格式,我只能按一般要求寫
intmain()
{
intk,i,j;
printf("Inputk:");
scanf("%d",&k);
for(i=0;i<k;i++)
{
for(j=0;j<k-i-1;j++)
printf("");
for(;j<k;j++)
printf("+");
printf(" ");
}
return0;
}
第三題題目表述不清,兩站往返的車票算1種還是算2種?如果不算回程,換句話說,如果默認終點站編號永遠比起點號大,那就是簡單的組合問題,程序上就是輸出一個上三角的矩陣。
intmain()
{
intn,i,j;
printf("Inputn:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
printf("%d-%d",i,j);
printf(" ");
}
return0;
}
如果要求算回程,那就是排列問題,需要把下三角那部分也輸出,你自己改一下j的初值就好,但要把矩陣對角線排除。
第四題是典型的遞歸問題,是杭電ACM平台的Problem 2018,思路很簡單,今年的牛包括兩類,一類是去年的老牛,一類是今年新出生的小牛,而今年出生的小牛和3年前的牛數量相等(因為3年前的所有牛都可以下小牛了)。即 f(n) = f(n - 1) + f(n - 3);
以下代碼杭電OJ測試Accept,保證正確,但我把OJ要求的循環輸入刪掉了,對你沒有影響。
longlongcow(intn)
{
if(n>=1&&n<=3)
returnn;
else
returncow(n-1)+cow(n-3);
}
intmain()
{
intN;
printf("Inputn:");
scanf("%d",&N);
printf("%lld ",cow(N));
return0;
}
『貳』 C語言,為什麼我不用finalx和finaly來賦值,直接輸出a,b結果不一樣呢
當找到final值後循環沒有退出
xy還在改變
所以最終的xy不是final的值
『叄』 C語言問題,如圖,怎樣才能在printf("消費總金額:%g",finalPay);後面加上元
printf("消費總金額:%g元",finalPay);
『肆』 求助,用C語言寫出程序過程。
#include<stdio.h>
int
main()
{
float
final_score,re_score,mid_score;//期末成績、平時成績、期中成績
float
score;//最終成績
printf("請分別輸入平時成績、期中成績、期末成績\n");
scanf("%f%f%f",&re_score,&mid_score,&final_score);
score
=
0.2*re_score
+
0.3*mid_score
+
0.5*final_score;
if(score
>=
85)
{
printf("優秀\n");
}
else
if(score
>=75)
{
printf("良\n");
}
else
if(score
>=65)
{
printf("及格\n");
}
else
{
printf("不及格\n");
}
return
0;
}
『伍』 C語言問題 高手進!
1.首先return字元應該是單引號,不應該是雙引號,否則表示的是字元串
2.grade=scoresToGrade(roundScores);
數組名是不可以用作左值的,scoresToGrade返回的是char型,所以你可以直接定義一個char型變數就可以了,可以把char grade[2];
改為char grade;
3.看你的意思是想輸出字元,所以在前面改動的基礎上把printf("%s",grade);改為printf("%c",grade);就行了
『陸』 關於C語言學習
把Kernighan和Ritchie的 The C Programming Language這本書(238頁,ANSI C)看一遍就差不多了,這時候你寫不了什麼實用的程序(天才,一點就通的人例外)。接下來你需要根據興趣愛好或職業規劃等來給自己選一個發展方向。如果急著靠它找工作,那麼就看看Windows,它入門快,很快就可以參與到求職競爭中去(這輩子也很可能局限於此)。如果並不是急著用C來打扮自己,那麼建議看看Linux Programming Unleashed,然後根據更細的發展方向去看LDD、LKD或Linux應用編程等內容,這些東西入門稍有難度(只是稍有難度而已,別被那些沒耐性的Windows菜鳥給嚇著)。Linux搭配C語言應用范圍很廣,這類人在國內算是高端人才,不愁嫁的。 C語言是一個實用技術,本身的內容並不多,主要的學習精力將會用在各種各樣的庫函數上面,而各種庫函數往往有各自的適用范圍,不可能也沒必要甚至不應該亂學一氣(庫函數確實很多,亂學很容易造成混亂)。總的來說,我的建議就是先看一遍The C Programming Language,然後給自己選一個發展方向,看那個方向適用的一些函數庫,如果還有精力,再看看Autotools工具包。
『柒』 C語言中final用法
首先,final關鍵字在C語言中並不存在。
其次,C++11中增加了final關鍵字,應該是從Java語言中借鑒而來,用途也一樣。示例代碼如下:
#include<iostream>
usingnamespacestd;
/*;compilationerror*/
classA/*final*/{
public:
/*;compilationerror*/
virtualvoidfunc(int)/*final*/{cout<<"A::func()"<<endl;}
};
classB:publicA{
public:
/*method*/
virtualvoidfunc(int)override{cout<<"B::func()"<<endl;}
/*virtualvoidfunc(char)override{}compilationerror;newmethod(seesignature),doesnotoverrideexisting*/
};
intmain(){
At;
t.func(2);
Bu;
u.func(3);
}
『捌』 final是什麼意思呢..
1、最終的;最後的
The referee blew the final whistle.
裁判吹響了終場的哨聲。
2、(指結果)最終的,最後的
No one could have predicted the final outcome.
誰也沒有預想到最終結果會是這樣。
3、決定性的;不可改變的;最終的
Who has the final say around here?
這里誰有最後決定權?
4、決賽
She reached the final of the 100m hurdles.
她取得了100米跨欄的決賽權。
(8)c語言final擴展閱讀
final和last的辨析
1、 兩者都可指順序上的「最後」,有時可換用。如:
The final/last word in this dictionary is "Zoom".
這本詞典的最後一個單詞是"Zoom"。
2、 last 主要指一個系列 (如順序、次序、時間等)的最後,含有再往後就沒有了的意思。如:
He was the last to arrive.
他是最後一個來的。
3、final 不僅指順序上的最後,而且含有以此作為結束或到達終點之意。如:
He failed in the final examinations.
他期中考試沒有及格。
4、final可由「最後的」引申出「確定的」或「不能改變的」。如:
The decision is final.
這個決定不能改變。
『玖』 C語言中/與%的區別
%作為運算符是用來取余的,/是除法運算。
例如:除法運算式
65 ÷8 = 8餘1
那麼
65 / 8 = 8
65 %8 = 1
(9)c語言final擴展閱讀
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C語言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
『拾』 c語言大小寫字母轉換
ABab
abAB請按任意鍵繼續. . .
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char pre[]={0},final[]={0};
int len, i ;
gets(pre);
len = strlen( pre );
for(i = 0; i < len; i++)
{
if(pre[i] - 'A' <= 25 && pre[i] - 'A' >= 0 && pre[i] != '\0')
final[i] = pre[i] + 32;
else if (pre[i] - 'A' > 25 && pre[i] != '\0')
final[i] = pre[i] - 32;
}
final[i]='\0'; //不加結束符的話 後面未可預料 由於內存連續 顯示的是從pre溢出的
printf("%s", final);
system("pause");
return 0;
}