当前位置:首页 » 编程语言 » c语言代码做图片
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言代码做图片

发布时间: 2022-12-07 05:20:17

1. c语言中如何导入图片

1、首先先在图片取模软件找到软件快捷方式,点击打开软件。

2. 怎么使用C语言完成图片中要求的编程(尽量使用一维数组)

按照你的要求,都用一维数组。不过学生信息建议使用结构体来定义。

题目要求函数参数用到数组和指针,而数组传参本来就可用数组和指针两种方式。

下面是代码:

#include <stdio.h>

#define MJ 5//课程最大数量

#define MT 30//学生最大人数

#define FM 100//满分

#define PS 60//及格

int init(int ss[],int sid[],int *p_slen);//通过初始化数组。成功返回总分,失败返回0

int contFStudents(int ss[],int sid[],int slen);//统计不及格人数并打印名单,返回人数

int contAAvg(int ss[],int sid[],int slen,float avg);//avg表示平均分数,如未知传-1 返回人数

int contMax(int ss[],int slen,int *sid);//统计最高分及学号

int main()

{

int ss[MT],sid[MT],sum;

int slen=0;// 实际输入的学生人数

int fn,an;

sum=init(ss,sid,&slen);

fn=contFStudents(ss,sid,slen);

an=contAAvg(ss,sid,slen,(sum*1.0)/slen);

printf("不及格占比%.0f%% ",(fn*1.0)/slen*100);

printf("高于等于平均分占比%.0f%% ",(an*1.0)/slen*100);

contMax(ss,slen,sid);

return 0;

}

int init(int ss[],int sid[],int *p_slen)

{

int i=0,n,sum=0;

if(!p_slen) return 0;

*p_slen=0;

printf("该班级所有学生某课程成绩(人数不超过%d): ",MT);

for(i=0;i<MT;i++)sid[i]=1000+i;//学号没有特殊要求,直接用数字代替

i=0;

while(*p_slen<=MT)

{


printf("请输入学号%d的成绩:",sid[i]),scanf("%d",&n);

if(n>FM)

{

printf("%d输入无效,不能大于满分上限%d ",n,FM);

continue;

}

if(n<0) break;

ss[i++]=n;

sum+=n;

}

*p_slen=i;

return sum;

}

int contFStudents(int ss[],int sid[],int slen)

{

int i,cnt=0;

for(i=0;i<slen;i++)

if(ss[i]<PS)cnt++,printf("学号%d,分数:%d,不及格! ",sid[i],ss[i]);

printf("不及格人数共:%d人 ",cnt);

return cnt;

}

int contAAvg(int ss[],int sid[],int slen,float avg)

{

int i,cnt=0,sum=0;

if(avg==-1)

{

for(i=0;i<slen;i++) sum+=ss[i];

avg=(sum*1.0)/slen;

}

for(i=0,printf("平均分(%f)及平均分以上的学生有: ",avg);i<slen;i++)

if(ss[i]>=avg)cnt++,printf("学号%d,分数:%d ",sid[i],ss[i]);

printf("平均分及平均分以上人数共:%d人 ",cnt);

return cnt;

}

int contMax(int ss[],int slen,int *sid)

{

int i,max=ss[0];

if(!sid) return 0;

for(i=0;i<slen;i++)

if(ss[i]>max) max=ss[i];

for(i=0,printf("最高分(%d)的学生学号有: ",max);i<slen;i++)

if(ss[i]==max) printf("%d ",sid[i]);

return 1;

}

3. 怎样用c语言编写一个输出“苹果图案”的程序

#include<stdio.h>
intmain()
{
inti,j,k;
for(i=1;i<=4;i++)//先打印上边的四行
{
for(j=1;j<=4-i;j++)//控制要打印的空格数量
printf("");
for(k=1;k<=2*i-1;k++)//控制要打印的星号数
printf("*");
printf(" ");
}

for(i=1;i<=3;i++)
{
for(j=1;j<=i;j++)//控制要打印的空格数
printf("");
for(k=1;k<=7-2*i;k++)//控制要打印的星号数
printf("*");
printf(" ");
}
return0;
}

4. C语言:图片上的代码段,输出是多少,为什么

图中代码整理如下图:

那么函数f就是克表示为f(x) = 3 + (x-1),其中x表示第几次调用。

所以,当f调用两次时,返回的值为4

5. 用C语言如何用递归方法画出下图图形 只需提供思路不用具体代码 急!谢谢

需要有一个画直线的库函数供使用。以下讲思路。
定义点的类型为具有二维坐标,比如 struct point { double x; double y;} 之类。
定义多边形的类型为元素是点的线性表,比如链表 struct polygon { struct point *p; struct polygon* next; },
需要能按顺序访问各个点,并需要提供insert函数以做插入点操作。
从等边三角形开始,多边形包含起始的三个点,三个点构成等边三角形。
下面的思路是伪代码

p = 起始点head;
do {
1.每个点p与下一个点p->next构成多边形的一条边,求边长;
2.求出两个三等分点q1和q2(求两点构成的线段的距离并进一步求三等分点的方法写成函数,公式不用说了吧);
3.按顺序将q1和q2插入p和p->next之间;
4.以q1和q2为顶点求向外生长出的三角形的第三个顶点r(求r的坐标比较复杂一些,可以用公式,但我认为按q1q2与x轴的夹角分6种情况可以简化计算);
5.将r插入q1和q2之间;
6.p = p->next;
} while (p != 起始点head);
// 每完整循环一次增长一轮,考虑一下要循环几轮满足需要,从图看第二个图是循环3轮。

下面p依次遍历多边形每个点画线 drawline(p, p->next)
最后一个点与起始点head之间drawline(p, head)闭合图形。
完毕。

6. c语言,怎么显示出图片上面的代码形式请说明具体步骤

1. 首先,编写一段简单的C语言程序,输出百分号,程序代码如下图所示:

#include <stdio.h>

void main()

{

printf("输出百分号:% ");

}

从上面的分析中,知道,如果要打印输出一个百分号,只需要书写两个百分号就可以了。同理,如果要输出两个百分号,那么书写四个百分号就可以了,依此类推。

7. c语言。输出图形,简单代码怎么写

#include<stdio.h>

#include<stdlib.h>

char a[25][25],b[2];

int n;

void fill()

{ int i,j,k;

char *p=a[0];

for(k=0; k<(n+1)/2; k++)

{ for(i=0; i<n-2*k; i++)

{p=*(a+k)+k+i*25;

for(j=0; j<n-2*k; j++)

*p++=b[k%2];

}

}

}

int main()

{ int i,j;

scanf("%d %c %c",&n,&b[0],&b[1]);

fill();

for(i=0; i<n; i++)

{ for(j=0; j<n; j++)

printf("%c",a[i][j]);

printf(" ");

}

return 0;

}

8. C语言,我想做成下面那个图怎么做啊要代码,发图片也可以,我不懂怎么用C来表达这个啊!谢谢 0

#include"stdio.h"
#defineN3
intmain(void){
charch[N][N],i,j;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
ch[i][j]=!i?j+'0':!j?i+'0':'D';
for(i=0;i<N;i++){
for(j=0;j<N;printf("%c",ch[i][j++]));
printf(" ");
}
return0;
}

9. 用c语言编程怎样能够编出图片上的图形

#include<stdio.h>
#include<stdlib.h>
#defineN9
#defineXH(N/2-abs(N/2-i)+1)
voidmain(){inti,j;
for(i=0;i<N;i++){
for(j=0;j<XH;j++)printf("*");
printf(" ");
}
}

10. 如何用c语言读取图片

#include

using namespace std;

#define Twoto1(i,j,w) i*w+j

void createimage(unsigned char *&img, int w, int h)

{img = new unsigned char[w*h];}

void delateimage(unsigned char*img)

{delete []img;}

void readimage(unsigned char*img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp,fname, "rb");

if (fp == NULL){ cout << "error" << endl; return; }

size_t result;

result=fread(img , sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Reading error" << endl;

return;

}

else

cout << "Reading Ok!" << endl;

fclose(fp);

}

void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])

{

for (int i = 0; i for (int j = 0; j if (iw - 3 || j>h - 3)

image1[Twoto1(i,j,w)] = 0;

else

{

float temp = 0;

for (int m = 0; m<5; m++)

for (int n = 0; n<5; n++)

{

temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);

}

if (temp>255) image1[Twoto1(i, j, w)] = 255;

else if (temp<0) image1[Twoto1(i, j, w)] = 0;

else image1[Twoto1(i, j, w)] = temp;

}

}

void saveimage(unsigned char *img, int w, int h, char *fname)

{

FILE *fp;

fopen_s(&fp, fname, "wb");

if (fp == NULL) { cout << "error" << endl; return; }

size_t result;

result = fwrite(img, sizeof(unsigned char), w*h, fp);

if (result != w*h)

{

cout << "Write error" << endl;

return;

}

else

cout << "Write Ok!" << endl;

fclose(fp);

}

void main()

{

unsigned char *img;

unsigned char *img1;

float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };

//float moban[5][5] = { 0 };

int w = 512, h = 512;

createimage(img, w, h);

createimage(img1, w, h);

readimage(img, w, h, "E:ss.raw");

mobanjuanji(img, img1,w, h, moban);

saveimage(img, w, h, "E:ss_1.raw");

saveimage(img1, w, h, "E:ss_2.raw");

delateimage(img);

delateimage(img1);

}

(10)c语言代码做图片扩展阅读

C语言实现一个图片的读出和写入

#include <stdlib.h>

#include <windows.h>

int file_size(char* filename)//获取文件名为filename的文件大小。

{

FILE *fp = fopen(filename, "rb");//打开文件。

int size;

if(fp == NULL) // 打开文件失败

return -1;

fseek(fp, 0, SEEK_END);//定位文件指针到文件尾。

size=ftell(fp);//获取文件指针偏移量,即文件大小。

fclose(fp);//关闭文件。

return size;

}

int main ()

{

int size=0;

size=file_size("qw");

printf("%d ",size);

FILE * pFile,*qw;

char *buffer=(char*)malloc(sizeof(char)*size);

qw =fopen("qw","r");

pFile = fopen ( "qwe" , "wb" );

printf("%d== ",pFile);

printf("%d ",size);

fread(buffer,1,size,qw);

fwrite (buffer , sizeof(byte), size , pFile );

fclose (pFile);

rename("qwe","Groot.jpg");

return 0;

}