① c語言函數部分
#include<stdio.h>
int num[100],n;
void init()
{
int i;
for(i=0;i<n;i++)
scanf("%d",&num[i]);
return;
}
int find(int a)
{
int i;
for(i=0;i<n;i++)
if(num[i]==a)return i;
return -1;
}
void change(int a,int b)
{
int k;
k=num[a];
num[a]=num[b];
num[b]=k;
}
void outp()
{
int i;
for(i=0;i<n;i++)
{
printf("%d ",num[i]);
}
printf("\n");
}
int main()
{
int a,b;
scanf("%d",&n);
init();//輸入
scanf("%d",&a);
b=find(a);//查找
if(b==-1)//未找到
printf("Can not find it\n");
if(b!=-1)change(0,b);//交換
outp();//輸出
return 0;
}
//我要加分哦
② C語言if not{a} then B="C" Display D END If什麼意思
如果不是 a 則 b=c,顯示D,結束如果!
③ C語言有什麼函數可以判斷某進程是否存在
C語言沒有庫函數可以做到這一點。但是在Linux下,有一些替代方案。
見下:
基本思路是先定義一個FILE指針,用該指針接收popen()執行ps指令的返回值,再從指針中讀取數據到緩存,根據得到的數據判斷進程是否存在,怎麼操作要看ps的參數了。
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#include<stdio.h>
#include<stdlib.h>
#include<fcntl.h>
#include<limits.h>
#defineBUFSZPIPE_BUF
voiderr_quit(char*msg)
{
perror(msg);
exit(EXIT_FAILURE);
}
intmain(intargc,char*argv[])
{
FILE*fp;
intcount;
charbuf[BUFSZ];
charcommand[150];
if(argc!=2)
{
printf("USAGE:example<processname> ");
exit(EXIT_SUCCESS);
}
else
sprintf(command,"ps-C%s|wc-l",argv[1]);
if((fp=popen(command,"r"))==NULL)
err_quit("popen");
if((fgets(buf,BUFSZ,fp))!=NULL)
{
count=atoi(buf);
if((count-1)==0)
printf("%snotfound ",argv[1]);
else
printf("process:%stotalis%d ",argv[1],(count-1));
}
pclose(fp);
exit(EXIT_SUCCESS);
}
④ 請問在C語言中#if (0) define .. ; 請問這個宏定義會定義么例如例子: #if (0) define gets(n)
沒有說得那麼繁瑣.
因為對於一個大程序而言,我們可能要定義很多常量( 不管是放在源文件還是頭文件 ),那麼我們有時考慮定義某個常量時,我們就必須返回檢查原來此常量是否定義,但這樣做很麻煩.if defined宏正是為這種情況提供了解決方案.舉個例子,如下:
#define ....
#define ....
........
........
#define a 100
.......
此時,我們要檢查a是否定義(假設我們已經記不著這點了),或者我們要給a一個不同的值,就加入如下句子
#if defined a
#undef a
#define a 200
#endif
上述語句檢驗a是否被定義,如果被定義,則用#undef語句解除定義,並重新定義a為200
同樣,檢驗a是否定義:
#ifndef a //如果a沒有被定義
#define a 100
#endif
以上所用的宏中:#undef為解除定義,#ifndef是if not defined的縮寫,即如果沒有定義。
這就是#if defined 的唯一作用!
⑤ C語言:編寫一個函數,判斷從鍵盤輸入的一個整數是否為奇數,並在調用函數中輸出是奇數的整數
#include <stdio.h>
void fun(int x);
void main()
{
int i;
printf("please input your numbers:\n");
scanf("%3d",&i);
fun(i);
}
void fun(int n)
{
if(n%2!=0)
printf("%3d\n",n);
else
printf("不是奇數\n");
}
⑥ c語言return在if中的使用情況
在c語言中return 表示從被調函數返回到主調函數繼續執行,返回時可附帶一個返回值,由return後面的參數指定。
因此,在c語言中一般出現return語句,即改變程序執行流程到母函數中,因此無論是在if語句還是while語句,還是其它的什麼語句,return始終是返回母函數的調用,不需要細分什麼情況。
⑦ 求C語言替換字元串中某個字元的函數
#include "stdio.h"
#include "string.h"
void swap(char s[100],char a,char b)/*a為原來要替換的字元,b是替換後的字元*/
{
int i;
for(i=0;i<strlen(s);i++)
{
if(s[i]==a)
{
s[i]=b;
}
}
}
main()
{
char s[100];
char a,b;
int i;
printf("請輸入一個字元串:\n");
gets(s);
printf("\n請輸入要替換的字元和要替換後的字元,用逗號隔開:");
scanf("%c,%c",&a,&b);
swap(s,a,b);
puts(s);
}
⑧ 關於C語言if的函數式。。
可以定義個素數判斷的bool函數,例如
bool issushu(int num){
int i=0;
if(num==1) return true;
for(i=2;i<sqrt(num);i++){
if(num%i==0) return flase;
}
return true;
}
在else if中調用該函數 else if(issushu(varnum))...
⑨ C語言文件那塊的if((fp=fopen(filepath,"w"))==NULL)中為什麼不用
1.if當中應該使用((fp=fopen(filepath,"w"))!=NULL),當返回的指針不等於NULL時,表示文件被正確打開。
2.fopen的函數原型:FILE * fopen(const char * path,const char * mode);
fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,允許讀數據。
rw+ 讀寫打開一個文本文件,允許讀和寫。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
wt+ 讀寫打開或著建立一個文本文件;允許讀寫。
at+ 讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。
返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
3.常式:
#include<stdio.h>
#defineF_PATH"d:\myfile\file.dat"
intmain(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp)
{
return-1;//要返回錯誤代碼
}
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return0;
}
⑩ c語言關於if語句和break語句的問題
基本點就搞錯了..for裡面只嵌套第一個if..然後break之後不是執行下一個for.而是中斷for循環..
把上面的結構寫的清楚點..就是這樣了...
for(i=2;i<=k;i++) //從2到m的平方根,依次檢驗能否被m整除
{
if(m%i==0)
break;
}
if(i>=k+1)
{
printf("%d is a prime number\n",m);
}
else
{
printf("%d is not a prime number\n",m);
}
這樣應應該不會搞錯結構了吧..