C语言每日小练(三)——竖式问题

例:找出所有形如abc*de(三位数乘以两位数,均非零。)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。输入数字集合(相邻数字之间没有空格),输出所有竖式。每个竖式前应有编号,之后应有一个空行。最后输出解的总数。具体格式见样例输出(为了便于观察,竖式中的空格改用小数点显示,但你的程序应该输出空格,而非小数点)。

样例输入:2357

样例输出:

<1>

..775

X..33

-----

.2325

2325.

-----

25575


The number of solutions = 1

解:

Code:

#include<stdio.h>
#include<string.h>
int main()
{
	int i, ok, abc, de, x, y, z, count = 0;
	char s[11], buf[50];
	scanf("%s", s);
	for(abc = 111; abc <= 999; abc++)
		for(de = 11; de <= 99; de++)
		{
			x = abc*(de%10); y = abc*(de/10); z = abc*de;
			sprintf(buf, "%d%d%d%d%d", abc, de, x, y, z);//将产生的所有数字存入缓冲区。
			ok = 1;
			for(i = 0; i<strlen(buf) && ok==1; i++)
				if(strchr(s, buf[i]) == NULL) ok = 0;//将缓冲区的每一个数字与输入的数字序列比较,若不存在,则strchr返回NULL。
			if(ok)//若经计算产生的数字均合法,则输出竖式。
			{
				printf("<%d>\n", ++count);
				printf("%5d\nX%4d\n-----\n%5d\n%4d\n-----\n%5d\n\n", abc, de, x, y, z);
			}
		}
	printf("The number of solutions = %d\n", count);
	return 0;
}
运行结果:


  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现卫星环绕地球的动画效果,可以使用OpenGL图形库来绘制图形和动画。下面是一个简单的C语言程序示例,可以实现卫星绕地球的动画效果: ```c #include <GL/glut.h> #define PI 3.1415926 GLfloat angle = 0.0f; // 卫星角度 GLfloat r = 10.0f; // 卫星距离地球表面的距离 void display() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); // 绘制地球 glColor3f(0.0f, 0.0f, 1.0f); glutWireSphere(5.0f, 20, 20); // 绘制卫星 glColor3f(1.0f, 0.0f, 0.0f); glTranslatef(0.0f, 0.0f, -r); glRotatef(angle, 0.0f, 1.0f, 0.0f); glTranslatef(0.0f, 0.0f, 5.0f); glutWireSphere(0.5f, 8, 8); glutSwapBuffers(); } void update(int value) { angle += 1.0f; if (angle > 360.0f) { angle -= 360.0f; } glutPostRedisplay(); glutTimerFunc(25, update, 0); } int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(640, 480); glutCreateWindow("Satellite Orbiting Earth"); glClearColor(0.0f, 0.0f, 0.0f, 1.0f); glEnable(GL_DEPTH_TEST); glutDisplayFunc(display); glutTimerFunc(25, update, 0); glutMainLoop(); return 0; } ``` 程序中使用了OpenGL的维图形绘制和动画技术。首先通过glutWireSphere函数绘制了地球,然后通过glTranslatef和glRotatef函数设置卫星的位置和旋转角度,最后再用glutWireSphere函数绘制卫星。 update函数控制卫星的旋转,通过glutTimerFunc函数定时更新卫星的位置和角度,并调用glutPostRedisplay函数来重绘窗口。主函数中注册了display和timer函数,并调用glutMainLoop函数启动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值