主函數中for (i=0;i!='\0';i++)要改成for (i=0;i100;i++),scanf ("%c",str[i]);要改成scanf (" %c",str[i]);。

在淇縣等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網站建設、成都網站制作 網站設計制作按需定制,公司網站建設,企業(yè)網站建設,品牌網站建設,成都營銷網站建設,成都外貿網站制作,淇縣網站建設費用合理。
del_samechar函數中第二個for就不能用i變量控制了,不然第二個for循環(huán)完后i就越界了,第一個for就不再執(zhí)行了還有,控制應該是str[i]!='\0'而不應該是i!='\0'。
其實把函數?del_samechar寫成以下就可以了——
void?del_samechar(char?str[]){
int?i,n;
for(n=i=0;str[j]=str[i];i++)
if(str[j]!=str[j-1]?||?j==0)
j++;
}
#include
assert.h
//設定插入點
#include
ctype.h
//字符處理
#include
errno.h
//定義錯誤碼
#include
float.h
//浮點數處理
#include
fstream.h
//文件輸入/輸出
#include
iomanip.h
//參數化輸入/輸出
#include
iostream.h
//數據流輸入/輸出
#include
limits.h
//定義各種數據類型最值常量
#include
locale.h
//定義本地化函數
#include
math.h
//定義數學函數
#include
stdio.h
//定義輸入/輸出函數
#include
stdlib.h
//定義雜項函數及內存分配函數
#include
string.h
//字符串處理
#include
strstrea.h
//基于數組的輸入/輸出
#include
time.h
//定義關于時間的函數
#include
wchar.h
//寬字符處理及輸入/輸出
#include
wctype.h
//寬字符分類
標準
C/C++
(同上的不再注釋)
#include
algorithm
//STL
通用算法
#include
bitset
//STL
位集容器
#include
cctype
#include
cerrno
#include
clocale
#include
cmath
#include
complex
//復數類
#include
cstdio
#include
cstdlib
#include
cstring
#include
ctime
#include
deque
//STL
雙端隊列容器
#include
exception
//異常處理類
#include
fstream
#include
functional
//STL
定義運算函數(代替運算符)
#include
limits
#include
list
//STL
線性列表容器
#include
map
//STL
映射容器
#include
iomanip
#include
ios
//基本輸入/輸出支持
#include
iosfwd
//輸入/輸出系統(tǒng)使用的前置聲明
#include
iostream
#include
istream
//基本輸入流
#include
ostream
//基本輸出流
#include
queue
//STL
隊列容器
#include
set
//STL
集合容器
#include
sstream
//基于字符串的流
#include
stack
//STL
堆棧容器
#include
stdexcept
//標準異常類
#include
streambuf
//底層輸入/輸出支持
#include
string
//字符串類
#include
utility
//STL
通用模板類
#include
vector
//STL
動態(tài)數組容器
#include
cwchar
#include
cwctype
using
namespace
std;
C99
增加
#include
complex.h
//復數處理
#include
fenv.h
//浮點環(huán)境
#include
inttypes.h
//整數格式轉換
#include
stdbool.h
//布爾環(huán)境
#include
stdint.h
//整型環(huán)境
#include
tgmath.h
//通用類型數學宏
C語言輸入輸出函數有很多,標準I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
getc(FILE
*fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結束的語句為
(ch
=
getc(fp))
!=
EOF.EOF為文件結束標志,定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin時,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int
getchar(void)
getchar主要是從標準輸入流讀取一個字符.默認的標準輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當然也可以在while循環(huán)中指定終止字符,如下面的語句:while
((c
=
getchar())
!=
'#')這是以#來結束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch寫到標準流stdout中去.
char
*
gets(char
*str)
gets主要是從標準輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int
puts(char
*str)
puts主要是把字符串str寫到標準流stdout中去,并會在輸出到最后時添加一個換行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放讀入的字符數組指針,num是最大允許的讀入字符數,fp是文件指針.fgets的功能是讀一行字符,該行的字符數不大于num-1.因為fgets函數會在末尾加上一個空字符以構成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int
fputs(char
*str,
file
*fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int
fgetc(FILE
*fp)
fgetc從fp的當前位置讀取一個字符.
int
fputc(int
ch,
file
*fp)
fputc是將ch寫入fp當前指定位置.
int
fscanf(FILE
*fp,
char
*format,
輸入列表)
fscanf按照指定格式從文件中出讀出數據,并賦值到參數列表中.
int
fprintf(FILE
*fp,
char
*format,
輸出列表)
fprintf將格式化數據寫入流式文件中.
數據塊讀寫函數
fread
(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
參數說明:
buffer:是一個指針。
對fread
來說,它是讀入數據的存放地址。
對fwrite來說,是要輸出數據的地址(均指起始地址)。
size:
要讀寫的字節(jié)數。
count:
要進行讀寫多少個size字節(jié)的數據項。
fp:
文件型指針。
main函數——主函數;
printf函數——格式輸出函數;
scanf函數——格式輸入函數;
getchar函數——字符輸入函數;
putchar函數——字符輸出函數;
gets函數——字符串輸入函數;
puts函數——字符串輸出函數;
strlen函數——求字符串長度的函數;
strcmp函數——比較字符串的函數;
sqrt函數——求開平方值的函數。
你說要十個的,所以我就寫了十個!!這些,本人認為都是基礎的函數!!
C語言庫函數,常用庫函數有:
1、scanf格式輸入函數
2、printf格式輸出函數
3、systemdos命令函數
4、sort排序
5、main主函數
6、fgets文件讀取字符串函數
7、fputs文件寫入字符串函數
8、fscanf文件格式讀取函數
9、fprintf文件格式寫入函數
10、fopen打開文件函數
11、getchar輸入字符函數
12、putchar輸出字符函數
13、malloc動態(tài)申請內存函數
14、free釋放內存函數
15、abs求絕對值數學函數
16、sqrt求平方根數學函數
擴展資料
語言組成:
1、數據類型
C的數據類型包括:整型、字符型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。
2、常量與變量
常量其值不可改變,符號常量名通常用大寫。
變量是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字符必須為字母或下劃線,否則為不合法的變量名。變量在編譯時為其分配相應存儲單元。
3、數組
如果一個變量名后面跟著一個有數字的中括號,這個聲明就是數組聲明。字符串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。
4、指針
如果一個變量聲明時在前面使用 * 號,表明這是個指針型變量。換句話說,該變量存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區(qū)別于其他同時代高級語言的主要特征之一。
參考資料來源:百度百科-函數
#includestdio.h
#includemath.h
//這是聲明引用的文件,用括起來的一般是系統(tǒng)的庫,用“”一般是用戶自己的文件
//stdio是標準輸入輸出,math是數學函數庫,一般還需要用stdlib.h標準庫包含常用的操作,如system("pause");這個是用來使控制臺暫停,能讓你看清結果用的,否則程序運行完一閃就沒了
int f(int h) //此處是聲明子函數,也可以使用;結束,然后再在別的地方寫實現(xiàn)方法
//第一個int 這是返回的值的類型,f是函數名,括號里的int是傳入的參數類型,h是參數名,多個參數用,隔開
{int i,b,n=0,s=0;//聲明局部變量,在此處可以直接賦值
do{b=sqrt(h);//b=h的平方,sqrt是math庫里的已有的函數
for(i=2;i=b;i++)//for(變量初始化;循環(huán)繼續(xù)的條件;每次循環(huán)后執(zhí)行的操作)
if(h%i==0) break;//if(條件)條件成立的操作 此處break是指如果h除以i的余數等于0,則退出for循環(huán)
if(ib){n++;s=s+h;}//這里if的判斷是因為上面如果沒有break,即這個數是素數,肯定最后ib,那么就把n增加1,然后s增加h
h--;//h是傳入的參數,遞減, 從而和n結合就是,取從傳入進來的數以下最大的十個素數
}
while(n10); //do{循環(huán)內執(zhí)行的操作} while(循環(huán)繼續(xù)的條件)
return(s);//函數f的返回值
}
main()
{int h;scanf("%d",h);//scanf是讀取鍵盤輸入
printf("%d\n",f(h));//這個就是屏幕輸出了
}
建議拿本書看下吧,基本的什么判斷、循環(huán)語句至少要知道,才看程序吧。
本文標題:c語言基礎函數篇,c語言函數語句
網頁URL:http://chinadenli.net/article9/dsgpeih.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站設計公司、網站改版、Google、網站維護、網站建設、做網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)