① 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);
}
这样应应该不会搞错结构了吧..